Skip to content
This repository was archived by the owner on May 4, 2023. It is now read-only.

Commit 5487921

Browse files
committed
Increase max custom repos count from 3 to 5 & tweak add repo UI.
1 parent d4ee572 commit 5487921

File tree

4 files changed

+87
-10
lines changed

4 files changed

+87
-10
lines changed

app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ dependencies {
9494
implementation "dev.rikka.rikkax.insets:insets:1.3.0"
9595
implementation 'com.github.Dimezis:BlurView:version-1.6.6'
9696
implementation 'com.github.KieronQuinn:MonetCompat:0.4.1'
97-
implementation 'com.github.Fox2Code:FoxCompat:0.0.1'
97+
implementation 'com.github.Fox2Code:FoxCompat:0.0.2'
9898

9999
// Utils
100100
implementation 'com.squareup.okhttp3:okhttp-dnsoverhttps:4.9.3'

app/src/main/java/com/fox2code/mmm/repo/CustomRepoManager.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
public class CustomRepoManager {
99
private static final boolean AUTO_RECOMPILE = true;
10-
public static final int MAX_CUSTOM_REPOS = 3;
10+
public static final int MAX_CUSTOM_REPOS = 5;
1111
private final MainApplication mainApplication;
1212
private final RepoManager repoManager;
1313
private final String[] customRepos;
@@ -112,6 +112,10 @@ public boolean canAddRepo(String repo) {
112112
repo.indexOf('/', 9) != -1;
113113
}
114114

115+
public int getRepoCount() {
116+
return this.customReposCount;
117+
}
118+
115119
public boolean needUpdate() {
116120
boolean needUpdate = this.dirty;
117121
if (needUpdate) this.dirty = false;

app/src/main/java/com/fox2code/mmm/settings/SettingsActivity.java

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,19 @@
44
import android.app.AlarmManager;
55
import android.app.PendingIntent;
66
import android.content.Context;
7-
import android.content.DialogInterface;
87
import android.content.Intent;
98
import android.content.SharedPreferences;
109
import android.content.res.Configuration;
1110
import android.os.Build;
1211
import android.os.Bundle;
13-
import android.text.Editable;
14-
import android.text.TextWatcher;
1512
import android.util.Log;
1613
import android.widget.AutoCompleteTextView;
1714
import android.widget.Button;
18-
import android.widget.EditText;
1915
import android.widget.Toast;
2016

2117
import androidx.annotation.NonNull;
2218
import androidx.annotation.StringRes;
2319
import androidx.appcompat.app.AlertDialog;
24-
import androidx.appcompat.widget.AppCompatEditText;
2520
import androidx.fragment.app.Fragment;
2621
import androidx.fragment.app.FragmentTransaction;
2722
import androidx.preference.ListPreference;
@@ -30,6 +25,8 @@
3025
import androidx.preference.TwoStatePreference;
3126

3227
import com.fox2code.foxcompat.FoxActivity;
28+
import com.fox2code.foxcompat.FoxDisplay;
29+
import com.fox2code.foxcompat.FoxViewCompat;
3330
import com.fox2code.mmm.AppUpdateManager;
3431
import com.fox2code.mmm.BuildConfig;
3532
import com.fox2code.mmm.Constants;
@@ -256,7 +253,7 @@ public boolean onBackPressed(FoxActivity compatActivity) {
256253
}
257254

258255
public static class RepoFragment extends PreferenceFragmentCompat {
259-
private static final int CUSTOM_REPO_ENTRIES = 3;
256+
private static final int CUSTOM_REPO_ENTRIES = 5;
260257

261258
@Override
262259
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
@@ -293,7 +290,8 @@ public void updateCustomRepoList(boolean initial) {
293290
}
294291
Preference preference = findPreference("pref_custom_add_repo");
295292
if (preference == null) return;
296-
preference.setVisible(customRepoManager.canAddRepo());
293+
preference.setVisible(customRepoManager.canAddRepo() &&
294+
customRepoManager.getRepoCount() < CUSTOM_REPO_ENTRIES);
297295
if (initial) { // Custom repo add button part.
298296
preference = findPreference("pref_custom_add_repo_button");
299297
if (preference == null) return;
@@ -303,6 +301,7 @@ public void updateCustomRepoList(boolean initial) {
303301
final MaterialAutoCompleteTextView input =
304302
new MaterialAutoCompleteTextView(context);
305303
input.setHint(R.string.custom_url);
304+
builder.setIcon(R.drawable.ic_baseline_add_box_24);
306305
builder.setTitle(R.string.add_repo);
307306
builder.setView(input);
308307
builder.setPositiveButton("OK", (dialog, which) -> {
@@ -346,10 +345,14 @@ public CharSequence fixText(CharSequence charSequence) {
346345
public void onTextChanged(
347346
@NonNull CharSequence charSequence, int i, int i1, int i2) {
348347
positiveButton.setEnabled(customRepoManager
349-
.canAddRepo(charSequence.toString()));
348+
.canAddRepo(charSequence.toString()) &&
349+
customRepoManager.getRepoCount() < CUSTOM_REPO_ENTRIES);
350350
}
351351
});
352352
positiveButton.setEnabled(false);
353+
int dp10 = FoxDisplay.dpToPixel(10),
354+
dp20 = FoxDisplay.dpToPixel(20);
355+
FoxViewCompat.setMargin(input, dp20, dp10, dp20, dp10);
353356
return true;
354357
});
355358
}

app/src/main/res/xml/repo_preferences.xml

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,76 @@
201201
app:title="@string/remove_repo"
202202
app:singleLineTitle="false" />
203203
</PreferenceCategory>
204+
<PreferenceCategory
205+
app:key="pref_custom_repo_3"
206+
app:title="@string/loading">
207+
<SwitchPreferenceCompat
208+
app:key="pref_custom_repo_3_enabled"
209+
app:icon="@drawable/ic_baseline_extension_24"
210+
app:switchTextOn="@string/repo_enabled"
211+
app:switchTextOff="@string/repo_disabled"
212+
app:singleLineTitle="false" />
213+
<Preference
214+
app:key="pref_custom_repo_3_website"
215+
app:icon="@drawable/ic_baseline_language_24"
216+
app:title="@string/website"
217+
app:singleLineTitle="false" />
218+
<Preference
219+
app:key="pref_custom_repo_3_support"
220+
app:icon="@drawable/ic_baseline_support_24"
221+
app:title="@string/support"
222+
app:singleLineTitle="false" />
223+
<Preference
224+
app:key="pref_custom_repo_3_donate"
225+
app:icon="@drawable/ic_baseline_monetization_on_24"
226+
app:title="@string/donate"
227+
app:singleLineTitle="false" />
228+
<Preference
229+
app:key="pref_custom_repo_3_submit"
230+
app:icon="@drawable/ic_baseline_upload_file_24"
231+
app:title="@string/submit_modules"
232+
app:singleLineTitle="false" />
233+
<Preference
234+
app:key="pref_custom_repo_3_delete"
235+
app:icon="@drawable/ic_baseline_delete_forever_24"
236+
app:title="@string/remove_repo"
237+
app:singleLineTitle="false" />
238+
</PreferenceCategory>
239+
<PreferenceCategory
240+
app:key="pref_custom_repo_4"
241+
app:title="@string/loading">
242+
<SwitchPreferenceCompat
243+
app:key="pref_custom_repo_4_enabled"
244+
app:icon="@drawable/ic_baseline_extension_24"
245+
app:switchTextOn="@string/repo_enabled"
246+
app:switchTextOff="@string/repo_disabled"
247+
app:singleLineTitle="false" />
248+
<Preference
249+
app:key="pref_custom_repo_4_website"
250+
app:icon="@drawable/ic_baseline_language_24"
251+
app:title="@string/website"
252+
app:singleLineTitle="false" />
253+
<Preference
254+
app:key="pref_custom_repo_4_support"
255+
app:icon="@drawable/ic_baseline_support_24"
256+
app:title="@string/support"
257+
app:singleLineTitle="false" />
258+
<Preference
259+
app:key="pref_custom_repo_4_donate"
260+
app:icon="@drawable/ic_baseline_monetization_on_24"
261+
app:title="@string/donate"
262+
app:singleLineTitle="false" />
263+
<Preference
264+
app:key="pref_custom_repo_4_submit"
265+
app:icon="@drawable/ic_baseline_upload_file_24"
266+
app:title="@string/submit_modules"
267+
app:singleLineTitle="false" />
268+
<Preference
269+
app:key="pref_custom_repo_4_delete"
270+
app:icon="@drawable/ic_baseline_delete_forever_24"
271+
app:title="@string/remove_repo"
272+
app:singleLineTitle="false" />
273+
</PreferenceCategory>
204274
<PreferenceCategory
205275
app:key="pref_custom_add_repo"
206276
app:title="@string/add_repo">

0 commit comments

Comments
 (0)