diff --git a/app/src/main/java/org/meowcat/edxposed/manager/AboutActivity.java b/app/src/main/java/org/meowcat/edxposed/manager/AboutActivity.java
index 68f80435..464c4b56 100644
--- a/app/src/main/java/org/meowcat/edxposed/manager/AboutActivity.java
+++ b/app/src/main/java/org/meowcat/edxposed/manager/AboutActivity.java
@@ -23,8 +23,8 @@ public class AboutActivity extends BaseActivity {
super.onCreate(savedInstanceState);
binding = ActivityAboutBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
- setSupportActionBar(binding.appbar.toolbar);
- binding.appbar.toolbar.setNavigationOnClickListener(view -> finish());
+ setSupportActionBar(binding.toolbar);
+ binding.toolbar.setNavigationOnClickListener(view -> finish());
ActionBar bar = getSupportActionBar();
if (bar != null) {
bar.setDisplayHomeAsUpEnabled(true);
diff --git a/app/src/main/java/org/meowcat/edxposed/manager/BaseActivity.java b/app/src/main/java/org/meowcat/edxposed/manager/BaseActivity.java
index 8d53298e..b4443bb0 100644
--- a/app/src/main/java/org/meowcat/edxposed/manager/BaseActivity.java
+++ b/app/src/main/java/org/meowcat/edxposed/manager/BaseActivity.java
@@ -68,7 +68,7 @@ public class BaseActivity extends AppCompatActivity {
@StyleRes
private int getCustomTheme() {
- String baseThemeName = XposedApp.getPreferences().getBoolean("colorized_action_bar", false) ?
+ String baseThemeName = XposedApp.getPreferences().getBoolean("colorized_action_bar", false) && !XposedApp.getPreferences().getBoolean("md2", false) ?
"ThemeOverlay.ActionBarPrimaryColor" : "ThemeOverlay";
String customThemeName;
String primaryColorEntryName = "colorPrimary";
@@ -143,6 +143,9 @@ public class BaseActivity extends AppCompatActivity {
theme.applyStyle(resid, false);
}
theme.applyStyle(getCustomTheme(), true);
+ if (XposedApp.getPreferences().getBoolean("md2", false)) {
+ theme.applyStyle(R.style.ThemeOverlay_Md2, true);
+ }
if (this instanceof MainActivity) {
theme.applyStyle(R.style.ThemeOverlay_ActivityMain, true);
}
diff --git a/app/src/main/java/org/meowcat/edxposed/manager/BlackListActivity.java b/app/src/main/java/org/meowcat/edxposed/manager/BlackListActivity.java
index b8ff2932..bc1e3337 100644
--- a/app/src/main/java/org/meowcat/edxposed/manager/BlackListActivity.java
+++ b/app/src/main/java/org/meowcat/edxposed/manager/BlackListActivity.java
@@ -40,8 +40,8 @@ public class BlackListActivity extends BaseActivity implements AppAdapter.Callba
super.onCreate(savedInstanceState);
binding = ActivityBlackListBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
- setSupportActionBar(binding.appbar.toolbar);
- binding.appbar.toolbar.setNavigationOnClickListener(view -> finish());
+ setSupportActionBar(binding.toolbar);
+ binding.toolbar.setNavigationOnClickListener(view -> finish());
ActionBar bar = getSupportActionBar();
if (bar != null) {
bar.setDisplayHomeAsUpEnabled(true);
@@ -51,9 +51,11 @@ public class BlackListActivity extends BaseActivity implements AppAdapter.Callba
final boolean isWhiteListMode = isWhiteListMode();
appAdapter = new BlackListAdapter(this, isWhiteListMode, binding);
binding.recyclerView.setAdapter(appAdapter);
- DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(this,
- DividerItemDecoration.VERTICAL);
- binding.recyclerView.addItemDecoration(dividerItemDecoration);
+ if (!XposedApp.getPreferences().getBoolean("md2", false)) {
+ DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(this,
+ DividerItemDecoration.VERTICAL);
+ binding.recyclerView.addItemDecoration(dividerItemDecoration);
+ }
appAdapter.setCallback(this);
handler.postDelayed(runnable, 300);
binding.swipeRefreshLayout.setOnRefreshListener(appAdapter::refresh);
diff --git a/app/src/main/java/org/meowcat/edxposed/manager/CompatListActivity.java b/app/src/main/java/org/meowcat/edxposed/manager/CompatListActivity.java
index f0a32f33..5dcf221f 100644
--- a/app/src/main/java/org/meowcat/edxposed/manager/CompatListActivity.java
+++ b/app/src/main/java/org/meowcat/edxposed/manager/CompatListActivity.java
@@ -30,8 +30,8 @@ public class CompatListActivity extends BaseActivity implements AppAdapter.Callb
super.onCreate(savedInstanceState);
binding = ActivityBlackListBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
- setSupportActionBar(binding.appbar.toolbar);
- binding.appbar.toolbar.setNavigationOnClickListener(view -> finish());
+ setSupportActionBar(binding.toolbar);
+ binding.toolbar.setNavigationOnClickListener(view -> finish());
ActionBar bar = getSupportActionBar();
if (bar != null) {
bar.setDisplayHomeAsUpEnabled(true);
@@ -40,9 +40,11 @@ public class CompatListActivity extends BaseActivity implements AppAdapter.Callb
binding.recyclerView.setLayoutManager(new LinearLayoutManager(this));
appAdapter = new CompatListAdapter(this, binding);
binding.recyclerView.setAdapter(appAdapter);
- DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(this,
- DividerItemDecoration.VERTICAL);
- binding.recyclerView.addItemDecoration(dividerItemDecoration);
+ if (!XposedApp.getPreferences().getBoolean("md2", false)) {
+ DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(this,
+ DividerItemDecoration.VERTICAL);
+ binding.recyclerView.addItemDecoration(dividerItemDecoration);
+ }
appAdapter.setCallback(this);
binding.swipeRefreshLayout.setRefreshing(true);
diff --git a/app/src/main/java/org/meowcat/edxposed/manager/DownloadActivity.java b/app/src/main/java/org/meowcat/edxposed/manager/DownloadActivity.java
index c55599f3..6b7ed174 100644
--- a/app/src/main/java/org/meowcat/edxposed/manager/DownloadActivity.java
+++ b/app/src/main/java/org/meowcat/edxposed/manager/DownloadActivity.java
@@ -9,7 +9,6 @@ import android.content.res.Resources;
import android.database.Cursor;
import android.net.ConnectivityManager;
import android.net.Uri;
-import android.os.Build;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
@@ -66,8 +65,8 @@ public class DownloadActivity extends BaseActivity implements RepoLoader.RepoLis
super.onCreate(savedInstanceState);
binding = ActivityDownloadBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
- setSupportActionBar(binding.appbar.toolbar);
- binding.appbar.toolbar.setNavigationOnClickListener(view -> finish());
+ setSupportActionBar(binding.toolbar);
+ binding.toolbar.setNavigationOnClickListener(view -> finish());
ActionBar bar = getSupportActionBar();
if (bar != null) {
bar.setDisplayHomeAsUpEnabled(true);
@@ -87,9 +86,7 @@ public class DownloadActivity extends BaseActivity implements RepoLoader.RepoLis
sortingOrder = XposedApp.getPreferences().getInt("download_sorting_order", RepoDb.SORT_STATUS);
ignoredUpdatesPref = getSharedPreferences("update_ignored", MODE_PRIVATE);
- if (Build.VERSION.SDK_INT >= 26) {
- binding.recyclerView.setImportantForAutofill(View.IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS);
- }
+ binding.recyclerView.setImportantForAutofill(View.IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS);
binding.swipeRefreshLayout.setOnRefreshListener(() -> {
repoLoader.setSwipeRefreshLayout(binding.swipeRefreshLayout);
repoLoader.triggerReload(true);
@@ -107,9 +104,11 @@ public class DownloadActivity extends BaseActivity implements RepoLoader.RepoLis
headersDecor.invalidateHeaders();
}
});
-
- DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(this, DividerItemDecoration.VERTICAL);
- binding.recyclerView.addItemDecoration(dividerItemDecoration);
+ if (!XposedApp.getPreferences().getBoolean("md2", false)) {
+ DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(this,
+ DividerItemDecoration.VERTICAL);
+ binding.recyclerView.addItemDecoration(dividerItemDecoration);
+ }
}
diff --git a/app/src/main/java/org/meowcat/edxposed/manager/LogsActivity.java b/app/src/main/java/org/meowcat/edxposed/manager/LogsActivity.java
index dac68f6f..3cf661e5 100644
--- a/app/src/main/java/org/meowcat/edxposed/manager/LogsActivity.java
+++ b/app/src/main/java/org/meowcat/edxposed/manager/LogsActivity.java
@@ -304,7 +304,6 @@ public class LogsActivity extends BaseActivity {
this.logs.clear();
this.logs.addAll(logs);
notifyDataSetChanged();
- binding.recyclerView.scrollToPosition(getItemCount() - 1);
}
void setEmpty() {
diff --git a/app/src/main/java/org/meowcat/edxposed/manager/ModulesActivity.java b/app/src/main/java/org/meowcat/edxposed/manager/ModulesActivity.java
index d75ace71..48470b38 100644
--- a/app/src/main/java/org/meowcat/edxposed/manager/ModulesActivity.java
+++ b/app/src/main/java/org/meowcat/edxposed/manager/ModulesActivity.java
@@ -175,8 +175,8 @@ public class ModulesActivity extends BaseActivity implements ModuleUtil.ModuleLi
super.onCreate(savedInstanceState);
binding = ActivityModulesBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
- setSupportActionBar(binding.appbar.toolbar);
- binding.appbar.toolbar.setNavigationOnClickListener(view -> finish());
+ setSupportActionBar(binding.toolbar);
+ binding.toolbar.setNavigationOnClickListener(view -> finish());
ActionBar bar = getSupportActionBar();
if (bar != null) {
bar.setDisplayHomeAsUpEnabled(true);
@@ -199,8 +199,11 @@ public class ModulesActivity extends BaseActivity implements ModuleUtil.ModuleLi
moduleUtil.addListener(this);
binding.recyclerView.setAdapter(adapter);
binding.recyclerView.setLayoutManager(new LinearLayoutManager(this));
- DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(this, DividerItemDecoration.VERTICAL);
- binding.recyclerView.addItemDecoration(dividerItemDecoration);
+ if (!XposedApp.getPreferences().getBoolean("md2", false)) {
+ DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(this,
+ DividerItemDecoration.VERTICAL);
+ binding.recyclerView.addItemDecoration(dividerItemDecoration);
+ }
binding.swipeRefreshLayout.setOnRefreshListener(() -> reloadModules.run());
reloadModules.run();
mSearchListener = new SearchView.OnQueryTextListener() {
diff --git a/app/src/main/java/org/meowcat/edxposed/manager/SettingsActivity.java b/app/src/main/java/org/meowcat/edxposed/manager/SettingsActivity.java
index 2463a1fa..8895272f 100644
--- a/app/src/main/java/org/meowcat/edxposed/manager/SettingsActivity.java
+++ b/app/src/main/java/org/meowcat/edxposed/manager/SettingsActivity.java
@@ -60,8 +60,8 @@ public class SettingsActivity extends BaseActivity {
super.onCreate(savedInstanceState);
binding = ActivitySettingsBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
- setSupportActionBar(binding.appbar.toolbar);
- binding.appbar.toolbar.setNavigationOnClickListener(view -> finish());
+ setSupportActionBar(binding.toolbar);
+ binding.toolbar.setNavigationOnClickListener(view -> finish());
ActionBar bar = getSupportActionBar();
if (bar != null) {
bar.setDisplayHomeAsUpEnabled(true);
@@ -473,6 +473,19 @@ public class SettingsActivity extends BaseActivity {
return true;
});
}
+
+ SwitchPreferenceCompat md2 = findPreference("md2");
+ if (md2 != null) {
+ md2.setOnPreferenceChangeListener((preference, newValue) -> {
+ SettingsActivity activity = (SettingsActivity) getActivity();
+ if (activity != null) {
+ updatePreference(!md2.isChecked());
+ activity.restart();
+ }
+ return true;
+ });
+ updatePreference(!md2.isChecked());
+ }
}
private void areYouSure(int contentTextId, DialogInterface.OnClickListener listener) {
@@ -487,6 +500,13 @@ public class SettingsActivity extends BaseActivity {
}
}
+ private void updatePreference(boolean show) {
+ findPreference("black_dark_theme").setVisible(show);
+ findPreference("transparent_status_bar").setVisible(show);
+ //findPreference("accent_color").setVisible(show);
+ findPreference("colorized_action_bar").setVisible(show);
+ }
+
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
diff --git a/app/src/main/res/drawable/item_background_md2.xml b/app/src/main/res/drawable/item_background_md2.xml
new file mode 100644
index 00000000..fc19ef5b
--- /dev/null
+++ b/app/src/main/res/drawable/item_background_md2.xml
@@ -0,0 +1,17 @@
+
+
+ -
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/main_item_background.xml b/app/src/main/res/drawable/item_background_round.xml
similarity index 69%
rename from app/src/main/res/drawable/main_item_background.xml
rename to app/src/main/res/drawable/item_background_round.xml
index d52cfb1d..70f4df8c 100644
--- a/app/src/main/res/drawable/main_item_background.xml
+++ b/app/src/main/res/drawable/item_background_round.xml
@@ -3,7 +3,12 @@
android:color="?colorControlHighlight"
tools:ignore="PrivateResource">
- -
+
-
diff --git a/app/src/main/res/layout/activity_about.xml b/app/src/main/res/layout/activity_about.xml
index 8b94da4e..3a967f30 100644
--- a/app/src/main/res/layout/activity_about.xml
+++ b/app/src/main/res/layout/activity_about.xml
@@ -8,10 +8,6 @@
android:clipChildren="false"
android:clipToPadding="false">
-
-
+ android:orientation="vertical">
+ android:padding="16dp">
@@ -56,13 +50,13 @@
+ android:paddingHorizontal="16dp">
+ android:paddingHorizontal="16dp">
+ android:paddingHorizontal="16dp">
+ android:paddingHorizontal="16dp">
+ android:paddingHorizontal="16dp">
+ android:paddingHorizontal="16dp">
+ android:paddingHorizontal="16dp">
+ android:paddingHorizontal="16dp">
+ android:paddingHorizontal="16dp">
+ android:paddingHorizontal="16dp">
+ android:paddingHorizontal="16dp">
+ android:paddingHorizontal="16dp">
+ android:paddingHorizontal="16dp">
+ android:padding="16dp"
+ android:paddingVertical="8dp">
+ android:paddingHorizontal="16dp">
+ android:padding="16dp"
+ android:paddingVertical="8dp">
+ android:paddingHorizontal="16dp">
+ android:padding="16dp"
+ android:paddingVertical="8dp">
+ android:paddingHorizontal="16dp">
+ android:padding="16dp"
+ android:paddingVertical="8dp">
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_black_list.xml b/app/src/main/res/layout/activity_black_list.xml
index fbdaa424..88c47dc6 100644
--- a/app/src/main/res/layout/activity_black_list.xml
+++ b/app/src/main/res/layout/activity_black_list.xml
@@ -7,10 +7,6 @@
android:clipChildren="false"
android:clipToPadding="false">
-
-
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_download.xml b/app/src/main/res/layout/activity_download.xml
index fb7d006f..df8ce5f6 100644
--- a/app/src/main/res/layout/activity_download.xml
+++ b/app/src/main/res/layout/activity_download.xml
@@ -7,10 +7,6 @@
android:clipChildren="false"
android:clipToPadding="false">
-
-
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_logs.xml b/app/src/main/res/layout/activity_logs.xml
index ca0b8be0..40c12eaf 100644
--- a/app/src/main/res/layout/activity_logs.xml
+++ b/app/src/main/res/layout/activity_logs.xml
@@ -7,6 +7,23 @@
android:clipChildren="false"
android:clipToPadding="false">
+
+
+
+
+
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 7dab1485..16fbc1e5 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -229,7 +229,7 @@
android:layout_gravity="center_horizontal"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="10dp"
- android:background="@drawable/main_item_background"
+ android:background="?roundBackground"
android:clickable="true"
android:focusable="true"
android:orientation="horizontal"
@@ -256,7 +256,7 @@
android:layout_gravity="center_horizontal"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="5dp"
- android:background="@drawable/main_item_background"
+ android:background="?roundBackground"
android:clickable="true"
android:focusable="true"
android:orientation="horizontal"
@@ -283,7 +283,7 @@
android:layout_gravity="center_horizontal"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="5dp"
- android:background="@drawable/main_item_background"
+ android:background="?roundBackground"
android:clickable="true"
android:focusable="true"
android:orientation="horizontal"
@@ -310,7 +310,7 @@
android:layout_gravity="center_horizontal"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="5dp"
- android:background="@drawable/main_item_background"
+ android:background="?roundBackground"
android:clickable="true"
android:focusable="true"
android:orientation="horizontal"
diff --git a/app/src/main/res/layout/activity_modules.xml b/app/src/main/res/layout/activity_modules.xml
index fbdaa424..35699310 100644
--- a/app/src/main/res/layout/activity_modules.xml
+++ b/app/src/main/res/layout/activity_modules.xml
@@ -7,10 +7,6 @@
android:clipChildren="false"
android:clipToPadding="false">
-
-
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml
index aa6c0440..dd189e51 100644
--- a/app/src/main/res/layout/activity_settings.xml
+++ b/app/src/main/res/layout/activity_settings.xml
@@ -7,9 +7,6 @@
android:clipChildren="false"
android:clipToPadding="false">
-
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/appbar_layout.xml b/app/src/main/res/layout/appbar_layout.xml
deleted file mode 100644
index 1024c311..00000000
--- a/app/src/main/res/layout/appbar_layout.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_download.xml b/app/src/main/res/layout/item_download.xml
index c616c2e1..0a8ae7e9 100644
--- a/app/src/main/res/layout/item_download.xml
+++ b/app/src/main/res/layout/item_download.xml
@@ -1,46 +1,40 @@
-
-
+ android:background="?listItemBackground"
+ android:padding="16dp">
-
+ android:textAppearance="?attr/textAppearanceListItem"
+ android:textSize="16sp" />
-
+
-
+
-
-
-
-
-
\ No newline at end of file
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_module.xml b/app/src/main/res/layout/item_module.xml
index c73879a1..62f40ec7 100644
--- a/app/src/main/res/layout/item_module.xml
+++ b/app/src/main/res/layout/item_module.xml
@@ -3,11 +3,13 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:background="?selectableItemBackground"
+ android:background="?listItemBackground"
android:clickable="true"
android:focusable="true"
android:minHeight="?attr/listPreferredItemHeight"
- android:padding="8dp">
+ android:padding="?listItemPadding"
+ android:paddingStart="8dp"
+ tools:ignore="RtlSymmetry">
+
+ @color/material_blue_700
+ #000
+ #000
+ @color/material_blue_700
+ #000
+ #ea000000
+ #eaffffff
+
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index d0545d8f..edb43361 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -301,4 +301,5 @@
强调色
着色应用栏
主题
+ 质感设计 2
diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml
index 14d61f49..6924d63d 100644
--- a/app/src/main/res/values/attrs.xml
+++ b/app/src/main/res/values/attrs.xml
@@ -2,7 +2,10 @@
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/colors_md2.xml b/app/src/main/res/values/colors_md2.xml
new file mode 100644
index 00000000..81709faa
--- /dev/null
+++ b/app/src/main/res/values/colors_md2.xml
@@ -0,0 +1,10 @@
+
+
+ @color/material_blue_700
+ #fff
+ #fff
+ @color/material_blue_700
+ #fff
+ #eaffffff
+ #3dffffff
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index a3f51234..30336506 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -332,4 +332,5 @@
Accent color
Colorized action bar
Theme
+ Material Design 2
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 9bc5850f..4f8fb84e 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -8,9 +8,12 @@
- @color/colorAccent
- @color/colorActionBar
- @color/colorStickyHeader
+ - 8dp
- @style/ThemeOverlay.MaterialComponents.ActionBar
- @color/colorBackground
- @color/colorBackground
+ - ?selectableItemBackground
+ - @drawable/item_background_round
- @style/AppTheme.PopupOverlay
- @bool/lightSystemUI
- @bool/lightSystemUI
@@ -19,6 +22,7 @@
- @style/ThemeOverlay.MaterialComponents.MaterialAlertDialog
- @style/Widget.MaterialComponents.TabLayout
+ - false
+