This commit is contained in:
NekoInverter 2020-03-13 17:49:10 +08:00
parent 3af5851053
commit 785f7d261b
No known key found for this signature in database
GPG Key ID: 280D6CCCF95715F9
21 changed files with 84 additions and 92 deletions

View File

@ -31,8 +31,8 @@ android {
minSdkVersion 26 minSdkVersion 26
//noinspection OldTargetApi //noinspection OldTargetApi
targetSdkVersion 27 targetSdkVersion 27
versionCode 45409 versionCode 45410
versionName "4.5.4.5" versionName "4.5.4.6"
signingConfig signingConfigs.release signingConfig signingConfigs.release
} }
buildTypes { buildTypes {

View File

@ -61,7 +61,13 @@
android:label="@string/Modules" /> android:label="@string/Modules" />
<activity <activity
android:name=".SettingsActivity" android:name=".SettingsActivity"
android:label="@string/Settings" /> android:label="@string/Settings">
<intent-filter>
<action android:name="android.intent.action.APPLICATION_PREFERENCES" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<receiver <receiver
android:name=".receivers.PackageChangeReceiver" android:name=".receivers.PackageChangeReceiver"

View File

@ -5,6 +5,7 @@ import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.res.Configuration; import android.content.res.Configuration;
import android.content.res.Resources; import android.content.res.Resources;
import android.content.res.TypedArray;
import android.os.Bundle; import android.os.Bundle;
import android.os.Looper; import android.os.Looper;
import android.text.TextUtils; import android.text.TextUtils;
@ -106,16 +107,23 @@ public class BaseActivity extends AppCompatActivity {
mTheme = getTheme(this); mTheme = getTheme(this);
} }
public int getThemedColor(int id) {
TypedArray typedArray = getTheme().obtainStyledAttributes(new int[]{id});
int color = typedArray.getColor(0, 0);
typedArray.recycle();
return color;
}
@Override @Override
protected void onResume() { protected void onResume() {
super.onResume(); super.onResume();
/*if (!(this instanceof MainActivity) && getWindow().getStatusBarColor() != Color.BLACK) { if (!(this instanceof MainActivity)) {
if (XposedApp.getPreferences().getBoolean("transparent_status_bar", false)) { if (XposedApp.getPreferences().getBoolean("transparent_status_bar", false)) {
getWindow().setStatusBarColor(ContextCompat.getColor(this, R.color.colorActionBar)); getWindow().setStatusBarColor(getThemedColor(R.attr.colorActionBar));
} else { } else {
getWindow().setStatusBarColor(ContextCompat.getColor(this, R.color.colorPrimaryDark)); getWindow().setStatusBarColor(getThemedColor(R.attr.colorPrimaryDark));
} }
}*/ }
if (!Objects.equals(mTheme, getTheme(this))) { if (!Objects.equals(mTheme, getTheme(this))) {
recreate(); recreate();
} }

View File

@ -11,7 +11,6 @@ import android.view.ViewGroup;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.TooltipCompat; import androidx.appcompat.widget.TooltipCompat;
import androidx.core.text.HtmlCompat; import androidx.core.text.HtmlCompat;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
@ -118,7 +117,7 @@ public class BaseAdvancedInstaller extends Fragment {
binding.warningUnofficial.setVisibility(View.VISIBLE); binding.warningUnofficial.setVisibility(View.VISIBLE);
} }
binding.showOnXda.setOnClickListener(v -> NavUtil.startURL((AppCompatActivity) getActivity(), tab.support)); binding.showOnXda.setOnClickListener(v -> NavUtil.startURL((BaseActivity) getActivity(), tab.support));
binding.updateDescription.setOnClickListener(v -> new MaterialAlertDialogBuilder(Objects.requireNonNull(getContext())) binding.updateDescription.setOnClickListener(v -> new MaterialAlertDialogBuilder(Objects.requireNonNull(getContext()))
.setTitle(R.string.changes) .setTitle(R.string.changes)
.setMessage(HtmlCompat.fromHtml(tab.description, HtmlCompat.FROM_HTML_MODE_LEGACY)) .setMessage(HtmlCompat.fromHtml(tab.description, HtmlCompat.FROM_HTML_MODE_LEGACY))

View File

@ -6,7 +6,6 @@ import android.content.Intent;
import android.content.IntentFilter; import android.content.IntentFilter;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.content.res.Resources; import android.content.res.Resources;
import android.content.res.TypedArray;
import android.database.Cursor; import android.database.Cursor;
import android.net.ConnectivityManager; import android.net.ConnectivityManager;
import android.net.Uri; import android.net.Uri;
@ -344,10 +343,7 @@ public class DownloadActivity extends BaseActivity implements RepoLoader.RepoLis
txtStatus.setText(context.getString( txtStatus.setText(context.getString(
R.string.download_status_installed, installedVersion)); R.string.download_status_installed, installedVersion));
txtStatus.setTextColor(ContextCompat.getColor(DownloadActivity.this, R.color.warning)); txtStatus.setTextColor(ContextCompat.getColor(DownloadActivity.this, R.color.warning));
TypedArray typedArray = DownloadActivity.this.getTheme().obtainStyledAttributes(new int[]{android.R.attr.textColorHighlight}); txtStatus.setTextColor(getThemedColor(android.R.attr.textColorHighlight));
int textColor = typedArray.getColor(0, 0);
typedArray.recycle();
txtStatus.setTextColor(textColor);
txtStatus.setVisibility(View.VISIBLE); txtStatus.setVisibility(View.VISIBLE);
} else { } else {
txtStatus.setVisibility(View.GONE); txtStatus.setVisibility(View.GONE);

View File

@ -10,7 +10,6 @@ import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.view.ViewCompat; import androidx.core.view.ViewCompat;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
@ -52,7 +51,7 @@ public class DownloadDetailsFragment extends Fragment {
if (module.description != null) { if (module.description != null) {
if (module.descriptionIsHtml) { if (module.descriptionIsHtml) {
binding.downloadDescription.setText(RepoParser.parseSimpleHtml(getActivity(), module.description, binding.downloadDescription)); binding.downloadDescription.setText(RepoParser.parseSimpleHtml(getActivity(), module.description, binding.downloadDescription));
binding.downloadDescription.setTransformationMethod(new LinkTransformationMethod((AppCompatActivity) getActivity())); binding.downloadDescription.setTransformationMethod(new LinkTransformationMethod((BaseActivity) getActivity()));
binding.downloadDescription.setMovementMethod(LinkMovementMethod.getInstance()); binding.downloadDescription.setMovementMethod(LinkMovementMethod.getInstance());
} else { } else {
binding.downloadDescription.setText(module.description); binding.downloadDescription.setText(module.description);
@ -71,7 +70,7 @@ public class DownloadDetailsFragment extends Fragment {
final Uri link = NavUtil.parseURL(moreInfoEntry.second); final Uri link = NavUtil.parseURL(moreInfoEntry.second);
if (link != null) { if (link != null) {
moreinfoBinding.message.setTextColor(moreinfoBinding.message.getLinkTextColors()); moreinfoBinding.message.setTextColor(moreinfoBinding.message.getLinkTextColors());
moreinfoBinding.getRoot().setOnClickListener(v -> NavUtil.startURL((AppCompatActivity) getActivity(), link)); moreinfoBinding.getRoot().setOnClickListener(v -> NavUtil.startURL((BaseActivity) getActivity(), link));
} }
binding.downloadMoreinfoContainer.addView(moreinfoBinding.getRoot()); binding.downloadMoreinfoContainer.addView(moreinfoBinding.getRoot());

View File

@ -20,7 +20,6 @@ import android.widget.TextView;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
import androidx.core.view.ViewCompat; import androidx.core.view.ViewCompat;
import androidx.fragment.app.ListFragment; import androidx.fragment.app.ListFragment;
@ -283,7 +282,7 @@ public class DownloadDetailsVersionsFragment extends ListFragment {
if (item.changelogIsHtml) { if (item.changelogIsHtml) {
holder.txtChanges.setText(RepoParser.parseSimpleHtml(getActivity(), item.changelog, holder.txtChanges)); holder.txtChanges.setText(RepoParser.parseSimpleHtml(getActivity(), item.changelog, holder.txtChanges));
holder.txtChanges.setTransformationMethod(new LinkTransformationMethod((AppCompatActivity) getActivity())); holder.txtChanges.setTransformationMethod(new LinkTransformationMethod((BaseActivity) getActivity()));
holder.txtChanges.setMovementMethod(LinkMovementMethod.getInstance()); holder.txtChanges.setMovementMethod(LinkMovementMethod.getInstance());
} else { } else {
holder.txtChanges.setText(item.changelog); holder.txtChanges.setText(item.changelog);

View File

@ -393,21 +393,21 @@ public class SettingsActivity extends BaseActivity {
}); });
} }
/*SwitchPreferenceCompat transparent = findPreference("transparent_status_bar"); SwitchPreferenceCompat transparent = findPreference("transparent_status_bar");
if (transparent != null) { if (transparent != null) {
transparent.setOnPreferenceChangeListener((preference, newValue) -> { transparent.setOnPreferenceChangeListener((preference, newValue) -> {
boolean enabled = (Boolean) newValue; boolean enabled = (Boolean) newValue;
Activity activity = getActivity(); SettingsActivity activity = (SettingsActivity) getActivity();
if (activity != null && activity.getWindow().getStatusBarColor() != Color.BLACK) { if (activity != null) {
if (enabled) { if (enabled) {
activity.getWindow().setStatusBarColor(ContextCompat.getColor(activity, R.color.colorActionBar)); activity.getWindow().setStatusBarColor(activity.getThemedColor(R.attr.colorActionBar));
} else { } else {
activity.getWindow().setStatusBarColor(ContextCompat.getColor(activity, R.color.colorPrimaryDark)); activity.getWindow().setStatusBarColor(activity.getThemedColor(R.attr.colorPrimaryDark));
} }
} }
return true; return true;
}); });
}*/ }
Preference compat_mode = findPreference("compat_mode"); Preference compat_mode = findPreference("compat_mode");
if (compat_mode != null) { if (compat_mode != null) {

View File

@ -4,6 +4,7 @@ import android.app.DownloadManager;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.widget.Toast;
import org.meowcat.edxposed.manager.util.DownloadsUtil; import org.meowcat.edxposed.manager.util.DownloadsUtil;
@ -18,6 +19,7 @@ public class DownloadReceiver extends BroadcastReceiver {
} }
} catch (Exception e) {//Flyme } catch (Exception e) {//Flyme
e.printStackTrace(); e.printStackTrace();
Toast.makeText(context, "shit flyme boom", Toast.LENGTH_LONG).show();
} }
} }

View File

@ -32,7 +32,6 @@ import java.util.Objects;
public class DownloadsUtil { public class DownloadsUtil {
public static final String MIME_TYPE_APK = "application/vnd.android.package-archive"; public static final String MIME_TYPE_APK = "application/vnd.android.package-archive";
//private static final String MIME_TYPE_ZIP = "application/zip";
private static final Map<String, DownloadFinishedCallback> callbacks = new HashMap<>(); private static final Map<String, DownloadFinishedCallback> callbacks = new HashMap<>();
private static final SharedPreferences pref = XposedApp.getInstance().getSharedPreferences("download_cache", Context.MODE_PRIVATE); private static final SharedPreferences pref = XposedApp.getInstance().getSharedPreferences("download_cache", Context.MODE_PRIVATE);
@ -47,17 +46,10 @@ public class DownloadsUtil {
Request request = new Request(Uri.parse(b.url)); Request request = new Request(Uri.parse(b.url));
request.setTitle(b.title); request.setTitle(b.title);
request.setMimeType(b.mimeType.toString()); request.setMimeType(b.mimeType.toString());
/*if (b.mSave) { request.setNotificationVisibility(Request.VISIBILITY_VISIBLE);
try {
request.setDestinationInExternalPublicDir(savePath, b.title + b.mimeType.getExtension());
} catch (IllegalStateException e) {
Toast.makeText(context, e.getMessage(), Toast.LENGTH_SHORT).show();
}
} else */
File destination = new File(context.getExternalCacheDir(), "/downloads/" + b.title + b.mimeType.getExtension()); File destination = new File(context.getExternalCacheDir(), "/downloads/" + b.title + b.mimeType.getExtension());
removeAllForLocalFile(context, destination); removeAllForLocalFile(context, destination);
request.setDestinationUri(Uri.fromFile(destination)); request.setDestinationUri(Uri.fromFile(destination));
request.setNotificationVisibility(Request.VISIBILITY_VISIBLE);
DownloadManager dm = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE); DownloadManager dm = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
long id = dm.enqueue(request); long id = dm.enqueue(request);

View File

@ -9,12 +9,11 @@ import android.text.util.Linkify;
import androidx.annotation.AnyThread; import androidx.annotation.AnyThread;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.browser.customtabs.CustomTabsIntent; import androidx.browser.customtabs.CustomTabsIntent;
import androidx.core.content.ContextCompat;
import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import org.meowcat.edxposed.manager.BaseActivity;
import org.meowcat.edxposed.manager.R; import org.meowcat.edxposed.manager.R;
import org.meowcat.edxposed.manager.XposedApp; import org.meowcat.edxposed.manager.XposedApp;
@ -31,14 +30,14 @@ public final class NavUtil {
return (spans.length > 0) ? Uri.parse(spans[0].getURL()) : null; return (spans.length > 0) ? Uri.parse(spans[0].getURL()) : null;
} }
public static void startURL(AppCompatActivity activity, Uri uri) { public static void startURL(BaseActivity activity, Uri uri) {
CustomTabsIntent.Builder customTabsIntent = new CustomTabsIntent.Builder(); CustomTabsIntent.Builder customTabsIntent = new CustomTabsIntent.Builder();
customTabsIntent.setShowTitle(true); customTabsIntent.setShowTitle(true);
customTabsIntent.setToolbarColor(ContextCompat.getColor(activity, R.color.colorActionBar)); customTabsIntent.setToolbarColor(activity.getThemedColor(R.attr.colorActionBar));
customTabsIntent.build().launchUrl(activity, uri); customTabsIntent.build().launchUrl(activity, uri);
} }
public static void startURL(AppCompatActivity activity, String url) { public static void startURL(BaseActivity activity, String url) {
startURL(activity, parseURL(url)); startURL(activity, parseURL(url));
} }

View File

@ -3,8 +3,7 @@ package org.meowcat.edxposed.manager.util.chrome;
import android.text.style.URLSpan; import android.text.style.URLSpan;
import android.view.View; import android.view.View;
import androidx.appcompat.app.AppCompatActivity; import org.meowcat.edxposed.manager.BaseActivity;
import org.meowcat.edxposed.manager.util.NavUtil; import org.meowcat.edxposed.manager.util.NavUtil;
/** /**
@ -12,9 +11,9 @@ import org.meowcat.edxposed.manager.util.NavUtil;
*/ */
public class CustomTabsURLSpan extends URLSpan { public class CustomTabsURLSpan extends URLSpan {
private AppCompatActivity activity; private BaseActivity activity;
CustomTabsURLSpan(AppCompatActivity activity, String url) { CustomTabsURLSpan(BaseActivity activity, String url) {
super(url); super(url);
this.activity = activity; this.activity = activity;
} }

View File

@ -9,16 +9,16 @@ import android.text.util.Linkify;
import android.view.View; import android.view.View;
import android.widget.TextView; import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity; import org.meowcat.edxposed.manager.BaseActivity;
/** /**
* Created by Nikola D. on 12/23/2015. * Created by Nikola D. on 12/23/2015.
*/ */
public class LinkTransformationMethod implements TransformationMethod { public class LinkTransformationMethod implements TransformationMethod {
private AppCompatActivity activity; private BaseActivity activity;
public LinkTransformationMethod(AppCompatActivity activity) { public LinkTransformationMethod(BaseActivity activity) {
this.activity = activity; this.activity = activity;
} }

View File

@ -87,7 +87,7 @@
app:layout_constraintTop_toBottomOf="@+id/timestamps" app:layout_constraintTop_toBottomOf="@+id/timestamps"
tools:text="@tools:sample/lorem" /> tools:text="@tools:sample/lorem" />
<androidx.appcompat.widget.SwitchCompat <com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/checkbox" android:id="@+id/checkbox"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"

View File

@ -300,4 +300,5 @@
<string name="primary_color">主要色</string> <string name="primary_color">主要色</string>
<string name="accent_color">强调色</string> <string name="accent_color">强调色</string>
<string name="colorized_action_bar">着色应用栏</string> <string name="colorized_action_bar">着色应用栏</string>
<string name="settings_group_theme">主题</string>
</resources> </resources>

View File

@ -300,4 +300,5 @@
<string name="primary_color">主要色</string> <string name="primary_color">主要色</string>
<string name="accent_color">強調色</string> <string name="accent_color">強調色</string>
<string name="colorized_action_bar">着色應用欄</string> <string name="colorized_action_bar">着色應用欄</string>
<string name="settings_group_theme">主題</string>
</resources> </resources>

View File

@ -300,4 +300,5 @@
<string name="primary_color">主要色</string> <string name="primary_color">主要色</string>
<string name="accent_color">強調色</string> <string name="accent_color">強調色</string>
<string name="colorized_action_bar">著色應用欄</string> <string name="colorized_action_bar">著色應用欄</string>
<string name="settings_group_theme">主題</string>
</resources> </resources>

View File

@ -9,7 +9,7 @@
<color name="warning">@color/red_500</color> <color name="warning">@color/red_500</color>
<color name="download_status_update_available">#4CAF50</color> <color name="download_status_update_available">#4CAF50</color>
<color name="amber_500">#FFC107</color> <color name="amber_500">#FFC107</color>
<color name="navigationBarColor">@color/colorPrimary</color> <color name="navigationBarColor">?colorPrimary</color>
<color name="colorStickyHeader">#eafafafa</color> <color name="colorStickyHeader">#eafafafa</color>
<color name="ic_launcher_background">#35C0CA</color> <color name="ic_launcher_background">#35C0CA</color>
</resources> </resources>

View File

@ -1,5 +1,5 @@
<resources> <resources>
<string name="app_name">EdXposed Manager</string> <string name="app_name" translatable="false">EdXposed Manager</string>
<string name="action_settings">Settings</string> <string name="action_settings">Settings</string>
<string name="Activated">Activated</string> <string name="Activated">Activated</string>
<string name="Inactivate">Inactivate</string> <string name="Inactivate">Inactivate</string>
@ -331,4 +331,5 @@
<string name="primary_color">Primary color</string> <string name="primary_color">Primary color</string>
<string name="accent_color">Accent color</string> <string name="accent_color">Accent color</string>
<string name="colorized_action_bar">Colorized action bar</string> <string name="colorized_action_bar">Colorized action bar</string>
<string name="settings_group_theme">Theme</string>
</resources> </resources>

View File

@ -34,8 +34,6 @@
<style name="ThemeOverlay" /> <style name="ThemeOverlay" />
<style name="ThemeOverlay.ActionBarPrimaryColor"> <style name="ThemeOverlay.ActionBarPrimaryColor">
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorActionBar">@color/colorPrimary</item>
<item name="actionBarTheme">@style/ThemeOverlay.MaterialComponents.Dark.ActionBar</item> <item name="actionBarTheme">@style/ThemeOverlay.MaterialComponents.Dark.ActionBar</item>
<item name="android:windowLightStatusBar" tools:targetApi="m">false</item> <item name="android:windowLightStatusBar" tools:targetApi="m">false</item>
<item name="tabLayoutTheme">@style/Widget.MaterialComponents.TabLayout.Colored</item> <item name="tabLayoutTheme">@style/Widget.MaterialComponents.TabLayout.Colored</item>

View File

@ -1,10 +1,38 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!--suppress ALL -->
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"> xmlns:app="http://schemas.android.com/apk/res-auto">
<PreferenceCategory <PreferenceCategory
android:key="group_app" android:key="group_app"
android:title="@string/settings_group_app" android:title="@string/settings_group_app"
app:iconSpaceReserved="false"> app:iconSpaceReserved="false">
<SwitchPreferenceCompat
android:defaultValue="false"
android:key="skip_xposedminversion_check"
android:summary="@string/skip_xposedminversion_check_summ"
android:title="@string/skip_xposedminversion_check"
app:iconSpaceReserved="false" />
<SwitchPreferenceCompat
android:defaultValue="true"
android:key="show_modules"
android:summary="@string/show_modules_summary"
android:title="@string/show_modules"
app:iconSpaceReserved="false" />
<org.meowcat.edxposed.manager.widget.IntegerListPreference
android:defaultValue="0"
android:entries="@array/list_sort_texts"
android:entryValues="@array/list_sort_values"
android:key="list_sort"
android:summary="%s"
android:title="@string/list_sort"
app:iconSpaceReserved="false" />
</PreferenceCategory>
<PreferenceCategory
android:title="@string/settings_group_theme"
app:iconSpaceReserved="false">
<org.meowcat.edxposed.manager.widget.ThemeColorPreference <org.meowcat.edxposed.manager.widget.ThemeColorPreference
android:defaultValue="#1976D2" android:defaultValue="#1976D2"
android:dialogTitle="@string/primary_color" android:dialogTitle="@string/primary_color"
@ -29,45 +57,15 @@
android:key="colorized_action_bar" android:key="colorized_action_bar"
android:title="@string/colorized_action_bar" android:title="@string/colorized_action_bar"
app:iconSpaceReserved="false" /> app:iconSpaceReserved="false" />
<SwitchPreferenceCompat
android:key="transparent_status_bar"
android:title="@string/transparent_status_bar"
app:iconSpaceReserved="false" />
<SwitchPreferenceCompat <SwitchPreferenceCompat
android:key="black_dark_theme" android:key="black_dark_theme"
android:title="@string/pure_black_dark_theme" android:title="@string/pure_black_dark_theme"
app:iconSpaceReserved="false" /> app:iconSpaceReserved="false" />
<!--<SwitchPreferenceCompat
android:key="transparent_status_bar"
android:title="@string/transparent_status_bar"
app:iconSpaceReserved="false" />-->
<SwitchPreferenceCompat
android:defaultValue="true"
android:key="confirm_reboots"
android:title="@string/confirm_reboots"
app:iconSpaceReserved="false" />
<SwitchPreferenceCompat
android:defaultValue="false"
android:key="skip_xposedminversion_check"
android:summary="@string/skip_xposedminversion_check_summ"
android:title="@string/skip_xposedminversion_check"
app:iconSpaceReserved="false" />
<SwitchPreferenceCompat
android:defaultValue="true"
android:key="show_modules"
android:summary="@string/show_modules_summary"
android:title="@string/show_modules"
app:iconSpaceReserved="false" />
<org.meowcat.edxposed.manager.widget.IntegerListPreference
android:defaultValue="0"
android:entries="@array/list_sort_texts"
android:entryValues="@array/list_sort_values"
android:key="list_sort"
android:summary="%s"
android:title="@string/list_sort"
app:iconSpaceReserved="false" />
</PreferenceCategory> </PreferenceCategory>
<PreferenceCategory <PreferenceCategory
android:key="group_download" android:key="group_download"
android:title="@string/settings_group_download" android:title="@string/settings_group_download"
@ -109,13 +107,6 @@
android:title="@string/notify_module_update" android:title="@string/notify_module_update"
app:iconSpaceReserved="false" /> app:iconSpaceReserved="false" />
<SwitchPreferenceCompat
android:defaultValue="false"
android:key="alt_download"
android:summary="@string/alt_download_method_summ"
android:title="@string/alt_download_method"
app:iconSpaceReserved="false" />
<SwitchPreferenceCompat <SwitchPreferenceCompat
android:defaultValue="false" android:defaultValue="false"
android:key="custom_list" android:key="custom_list"