Skip to content

Commit e9c274b

Browse files
committed
Add tips for fixing auto startup
1 parent 9534a46 commit e9c274b

File tree

7 files changed

+264
-0
lines changed

7 files changed

+264
-0
lines changed

app/src/main/java/com/drdisagree/colorblendr/ui/fragments/OnboardingFragment.java

+1
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
4646

4747
adapter.addFragment(new OnboardingItem1Fragment());
4848
adapter.addFragment(new OnboardingItem2Fragment());
49+
adapter.addFragment(new OnboardingItem3Fragment());
4950

5051
binding.viewPager.setAdapter(adapter);
5152

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package com.drdisagree.colorblendr.ui.fragments;
2+
3+
import android.os.Bundle;
4+
import android.text.method.LinkMovementMethod;
5+
import android.view.LayoutInflater;
6+
import android.view.View;
7+
import android.view.ViewGroup;
8+
9+
import androidx.annotation.NonNull;
10+
import androidx.core.text.HtmlCompat;
11+
import androidx.fragment.app.Fragment;
12+
13+
import com.drdisagree.colorblendr.R;
14+
import com.drdisagree.colorblendr.databinding.FragmentOnboardingItem3Binding;
15+
16+
public class OnboardingItem3Fragment extends Fragment {
17+
18+
private FragmentOnboardingItem3Binding binding;
19+
20+
@Override
21+
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
22+
binding = FragmentOnboardingItem3Binding.inflate(inflater, container, false);
23+
24+
binding.title.setText(getString(R.string.auto_startup_title));
25+
binding.description.setText(HtmlCompat.fromHtml(getString(R.string.auto_startup_desc, getString(R.string.app_name), getString(R.string.app_name)), HtmlCompat.FROM_HTML_MODE_COMPACT));
26+
binding.description.setMovementMethod(LinkMovementMethod.getInstance());
27+
28+
return binding.getRoot();
29+
}
30+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<shape xmlns:android="http://schemas.android.com/apk/res/android"
3+
android:shape="oval">
4+
<solid android:color="?attr/colorPrimaryContainer" />
5+
</shape>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="24dp"
3+
android:height="24dp"
4+
android:viewportWidth="24"
5+
android:viewportHeight="24">
6+
<path
7+
android:fillColor="#000000"
8+
android:pathData="M20.5,11H19V7C19,5.9 18.1,5 17,5H13V3.5C13,2.1 11.9,1 10.5,1C9.1,1 8,2.1 8,3.5V5H4C2.9,5 2,5.9 2,7V10.8H3.5C5,10.8 6.2,12 6.2,13.5C6.2,15 5,16.2 3.5,16.2H2V20C2,21.1 2.9,22 4,22H7.8V20.5C7.8,19 9,17.8 10.5,17.8C12,17.8 13.2,19 13.2,20.5V22H17C18.1,22 19,21.1 19,20V16H20.5C21.9,16 23,14.9 23,13.5C23,12.1 21.9,11 20.5,11Z" />
9+
</vector>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
3+
xmlns:app="http://schemas.android.com/apk/res-auto"
4+
xmlns:tools="http://schemas.android.com/tools"
5+
android:layout_width="match_parent"
6+
android:layout_height="match_parent"
7+
tools:context=".ui.fragments.OnboardingItem2Fragment">
8+
9+
<com.google.android.material.textview.MaterialTextView
10+
android:id="@+id/textView"
11+
style="@style/TextAppearance.Material3.HeadlineLarge"
12+
android:layout_width="wrap_content"
13+
android:layout_height="wrap_content"
14+
android:text="@string/auto_startup"
15+
app:layout_constraintBottom_toBottomOf="@id/guidelineBottom"
16+
app:layout_constraintEnd_toEndOf="@id/guidelineMiddle"
17+
app:layout_constraintStart_toStartOf="@id/guidelineLeft"
18+
app:layout_constraintTop_toTopOf="@id/guidelineTop" />
19+
20+
<com.google.android.material.card.MaterialCardView
21+
style="@style/Widget.Material3.CardView.Outlined"
22+
android:layout_width="0dp"
23+
android:layout_height="wrap_content"
24+
android:layout_marginStart="16dp"
25+
android:clickable="true"
26+
android:gravity="center"
27+
app:cardBackgroundColor="?attr/colorSurfaceContainer"
28+
app:cardCornerRadius="12dp"
29+
app:layout_constraintBottom_toBottomOf="@id/guidelineBottom"
30+
app:layout_constraintEnd_toEndOf="@id/guidelineRight"
31+
app:layout_constraintStart_toStartOf="@id/guidelineMiddle"
32+
app:layout_constraintTop_toTopOf="@id/guidelineTop">
33+
34+
<LinearLayout
35+
android:layout_width="match_parent"
36+
android:layout_height="wrap_content"
37+
android:orientation="vertical"
38+
android:padding="16dp">
39+
40+
<LinearLayout
41+
android:layout_width="match_parent"
42+
android:layout_height="wrap_content"
43+
android:layout_marginBottom="12dp"
44+
android:gravity="center_vertical"
45+
android:orientation="horizontal">
46+
47+
<ImageView
48+
android:layout_width="28dp"
49+
android:layout_height="28dp"
50+
android:background="@drawable/bg_icon_rounded"
51+
android:contentDescription="@android:string/untitled"
52+
android:padding="6dp"
53+
android:src="@drawable/ic_extension"
54+
app:tint="?attr/colorOnPrimaryContainer" />
55+
56+
<com.google.android.material.textview.MaterialTextView
57+
android:id="@+id/title"
58+
style="@style/TextAppearance.Material3.TitleSmall"
59+
android:layout_width="wrap_content"
60+
android:layout_height="wrap_content"
61+
android:layout_marginStart="8dp"
62+
android:text="@string/auto_startup_title" />
63+
64+
</LinearLayout>
65+
66+
<com.google.android.material.textview.MaterialTextView
67+
android:id="@+id/description"
68+
style="@style/TextAppearance.Material3.BodySmall"
69+
android:layout_width="wrap_content"
70+
android:layout_height="wrap_content"
71+
android:alpha="0.8"
72+
android:text="@string/auto_startup_desc" />
73+
74+
</LinearLayout>
75+
</com.google.android.material.card.MaterialCardView>
76+
77+
<androidx.constraintlayout.widget.Guideline
78+
android:id="@+id/guidelineTop"
79+
android:layout_width="wrap_content"
80+
android:layout_height="wrap_content"
81+
android:orientation="horizontal"
82+
app:layout_constraintGuide_percent="0.03" />
83+
84+
<androidx.constraintlayout.widget.Guideline
85+
android:id="@+id/guidelineBottom"
86+
android:layout_width="wrap_content"
87+
android:layout_height="wrap_content"
88+
android:orientation="horizontal"
89+
app:layout_constraintGuide_percent="0.7" />
90+
91+
<androidx.constraintlayout.widget.Guideline
92+
android:id="@+id/guidelineLeft"
93+
android:layout_width="wrap_content"
94+
android:layout_height="wrap_content"
95+
android:orientation="vertical"
96+
app:layout_constraintGuide_percent="0.16" />
97+
98+
<androidx.constraintlayout.widget.Guideline
99+
android:id="@+id/guidelineMiddle"
100+
android:layout_width="wrap_content"
101+
android:layout_height="wrap_content"
102+
android:orientation="vertical"
103+
app:layout_constraintGuide_percent="0.5" />
104+
105+
<androidx.constraintlayout.widget.Guideline
106+
android:id="@+id/guidelineRight"
107+
android:layout_width="wrap_content"
108+
android:layout_height="wrap_content"
109+
android:orientation="vertical"
110+
app:layout_constraintGuide_percent="0.86" />
111+
112+
</androidx.constraintlayout.widget.ConstraintLayout>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
3+
xmlns:app="http://schemas.android.com/apk/res-auto"
4+
xmlns:tools="http://schemas.android.com/tools"
5+
android:layout_width="match_parent"
6+
android:layout_height="match_parent"
7+
tools:context=".ui.fragments.OnboardingItem3Fragment">
8+
9+
<com.google.android.material.textview.MaterialTextView
10+
android:id="@+id/textView"
11+
style="@style/TextAppearance.Material3.HeadlineLarge"
12+
android:layout_width="wrap_content"
13+
android:layout_height="wrap_content"
14+
android:text="@string/auto_startup"
15+
app:layout_constraintEnd_toEndOf="parent"
16+
app:layout_constraintStart_toStartOf="parent"
17+
app:layout_constraintTop_toTopOf="@id/guidelineTop" />
18+
19+
<com.google.android.material.card.MaterialCardView
20+
style="@style/Widget.Material3.CardView.Outlined"
21+
android:layout_width="0dp"
22+
android:layout_height="wrap_content"
23+
android:layout_marginTop="16dp"
24+
android:clickable="true"
25+
android:gravity="center"
26+
app:cardBackgroundColor="?attr/colorSurfaceContainer"
27+
app:cardCornerRadius="12dp"
28+
app:layout_constraintBottom_toTopOf="@id/guidelineBottom"
29+
app:layout_constraintEnd_toEndOf="@id/guidelineRight"
30+
app:layout_constraintStart_toStartOf="@id/guidelineLeft"
31+
app:layout_constraintTop_toBottomOf="@id/textView">
32+
33+
<LinearLayout
34+
android:layout_width="match_parent"
35+
android:layout_height="wrap_content"
36+
android:orientation="vertical"
37+
android:padding="16dp">
38+
39+
<LinearLayout
40+
android:layout_width="match_parent"
41+
android:layout_height="wrap_content"
42+
android:layout_marginBottom="12dp"
43+
android:gravity="center_vertical"
44+
android:orientation="horizontal">
45+
46+
<ImageView
47+
android:layout_width="28dp"
48+
android:layout_height="28dp"
49+
android:background="@drawable/bg_icon_rounded"
50+
android:contentDescription="@android:string/untitled"
51+
android:padding="6dp"
52+
android:src="@drawable/ic_extension"
53+
app:tint="?attr/colorOnPrimaryContainer" />
54+
55+
<com.google.android.material.textview.MaterialTextView
56+
android:id="@+id/title"
57+
style="@style/TextAppearance.Material3.TitleSmall"
58+
android:layout_width="wrap_content"
59+
android:layout_height="wrap_content"
60+
android:layout_marginStart="12dp"
61+
android:text="@string/auto_startup_title" />
62+
63+
</LinearLayout>
64+
65+
<com.google.android.material.textview.MaterialTextView
66+
android:id="@+id/description"
67+
style="@style/TextAppearance.Material3.BodySmall"
68+
android:layout_width="wrap_content"
69+
android:layout_height="wrap_content"
70+
android:alpha="0.8"
71+
android:text="@string/auto_startup_desc" />
72+
73+
</LinearLayout>
74+
</com.google.android.material.card.MaterialCardView>
75+
76+
<androidx.constraintlayout.widget.Guideline
77+
android:id="@+id/guidelineTop"
78+
android:layout_width="wrap_content"
79+
android:layout_height="wrap_content"
80+
android:orientation="horizontal"
81+
app:layout_constraintGuide_percent="0.1" />
82+
83+
<androidx.constraintlayout.widget.Guideline
84+
android:id="@+id/guidelineBottom"
85+
android:layout_width="wrap_content"
86+
android:layout_height="wrap_content"
87+
android:orientation="horizontal"
88+
app:layout_constraintGuide_percent="0.8" />
89+
90+
<androidx.constraintlayout.widget.Guideline
91+
android:id="@+id/guidelineLeft"
92+
android:layout_width="wrap_content"
93+
android:layout_height="wrap_content"
94+
android:orientation="vertical"
95+
app:layout_constraintGuide_percent="0.16" />
96+
97+
<androidx.constraintlayout.widget.Guideline
98+
android:id="@+id/guidelineRight"
99+
android:layout_width="wrap_content"
100+
android:layout_height="wrap_content"
101+
android:orientation="vertical"
102+
app:layout_constraintGuide_percent="0.84" />
103+
104+
</androidx.constraintlayout.widget.ConstraintLayout>

app/src/main/res/values/strings.xml

+3
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,9 @@
121121
<string name="back">Back</string>
122122
<string name="permissions">Permissions</string>
123123
<string name="choose_method">Choose method</string>
124+
<string name="auto_startup">Auto startup</string>
125+
<string name="auto_startup_title">Start service on boot</string>
126+
<string name="auto_startup_desc">%s will automatically initiate its service upon system boot.<![CDATA[<br /><br />]]>If this is not the case, please verify whether your system or any third-party tools may be restricting %s. For detailed instructions, you can refer to <![CDATA[<a href="https://dontkillmyapp.com"><b><u>Don\'t kill my app!</u></b></a>]]>.</string>
124127
<string name="about_this_app_title">About this app</string>
125128
<string name="about_this_app_desc">Information about this app and its developer</string>
126129
<string name="search_hint">Search here…</string>

0 commit comments

Comments
 (0)