diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 0ceadef9..baf52e25 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -175,7 +175,7 @@ dependencies { implementation("androidx.slidingpanelayout:slidingpanelayout:1.2.0-beta01") implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0") implementation("com.github.bumptech.glide:glide:$glideVersion") - implementation("com.google.android.material:material:1.5.0-alpha05") + implementation("com.google.android.material:material:1.5.0-beta01") implementation("com.google.code.gson:gson:2.8.9") implementation(platform("com.squareup.okhttp3:okhttp-bom:4.9.2")) implementation("com.squareup.okhttp3:okhttp") diff --git a/app/src/main/java/org/lsposed/manager/adapters/ScopeAdapter.java b/app/src/main/java/org/lsposed/manager/adapters/ScopeAdapter.java index a66194ae..c4a14f70 100644 --- a/app/src/main/java/org/lsposed/manager/adapters/ScopeAdapter.java +++ b/app/src/main/java/org/lsposed/manager/adapters/ScopeAdapter.java @@ -61,7 +61,6 @@ import androidx.recyclerview.widget.RecyclerView; import com.bumptech.glide.request.target.CustomTarget; import com.bumptech.glide.request.transition.Transition; import com.google.android.material.checkbox.MaterialCheckBox; -import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.google.android.material.snackbar.Snackbar; import org.lsposed.lspd.models.Application; @@ -70,6 +69,7 @@ import org.lsposed.manager.BuildConfig; import org.lsposed.manager.ConfigManager; import org.lsposed.manager.R; import org.lsposed.manager.databinding.ItemModuleBinding; +import org.lsposed.manager.ui.dialog.BlurBehindDialogBuilder; import org.lsposed.manager.ui.fragment.AppListFragment; import org.lsposed.manager.ui.fragment.CompileDialogFragment; import org.lsposed.manager.ui.widget.EmptyStateRecyclerView; @@ -221,7 +221,7 @@ public class ScopeAdapter extends EmptyStateRecyclerView.EmptyStateAdapter { checkRecommended(); @@ -291,7 +291,7 @@ public class ScopeAdapter extends EmptyStateRecyclerView.EmptyStateAdapter ConfigManager.forceStopPackage(info.packageName, info.uid / 100000)) @@ -656,7 +656,7 @@ public class ScopeAdapter extends EmptyStateRecyclerView.EmptyStateAdapter { diff --git a/app/src/main/java/org/lsposed/manager/ui/activity/base/BaseActivity.java b/app/src/main/java/org/lsposed/manager/ui/activity/base/BaseActivity.java index 103a1ee7..dd1de274 100644 --- a/app/src/main/java/org/lsposed/manager/ui/activity/base/BaseActivity.java +++ b/app/src/main/java/org/lsposed/manager/ui/activity/base/BaseActivity.java @@ -33,11 +33,11 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.google.android.material.color.DynamicColors; -import com.google.android.material.dialog.MaterialAlertDialogBuilder; import org.lsposed.manager.BuildConfig; import org.lsposed.manager.ConfigManager; import org.lsposed.manager.R; +import org.lsposed.manager.ui.dialog.BlurBehindDialogBuilder; import org.lsposed.manager.ui.dialog.FlashDialogBuilder; import org.lsposed.manager.util.NavUtil; import org.lsposed.manager.util.ThemeUtil; @@ -61,7 +61,7 @@ public class BaseActivity extends MaterialActivity { if (!ConfigManager.isBinderAlive()) return; var version = ConfigManager.getXposedVersionCode(); if (BuildConfig.VERSION_CODE == version) return; - new MaterialAlertDialogBuilder(this) + new BlurBehindDialogBuilder(this) .setMessage(getString(R.string.version_mismatch, version, BuildConfig.VERSION_CODE)) .setPositiveButton(android.R.string.ok, (dialog, id) -> { if (UpdateUtil.canInstall()) { diff --git a/app/src/main/java/org/lsposed/manager/ui/fragment/CompileDialogFragment.java b/app/src/main/java/org/lsposed/manager/ui/fragment/CompileDialogFragment.java index 2c70306d..3dc354cf 100644 --- a/app/src/main/java/org/lsposed/manager/ui/fragment/CompileDialogFragment.java +++ b/app/src/main/java/org/lsposed/manager/ui/fragment/CompileDialogFragment.java @@ -34,13 +34,13 @@ import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatDialogFragment; import androidx.fragment.app.FragmentManager; -import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.google.android.material.snackbar.Snackbar; import org.lsposed.manager.App; import org.lsposed.manager.R; import org.lsposed.manager.databinding.FragmentCompileDialogBinding; import org.lsposed.manager.receivers.LSPManagerServiceHolder; +import org.lsposed.manager.ui.dialog.BlurBehindDialogBuilder; import java.lang.ref.WeakReference; @@ -66,7 +66,7 @@ public class CompileDialogFragment extends AppCompatDialogFragment { FragmentCompileDialogBinding binding = FragmentCompileDialogBinding.inflate(LayoutInflater.from(requireActivity()), null, false); final PackageManager pm = requireContext().getPackageManager(); - MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(requireActivity()) + var builder = new BlurBehindDialogBuilder(requireActivity()) .setIcon(appInfo.loadIcon(pm)) .setTitle(appInfo.loadLabel(pm)) .setView(binding.getRoot()); diff --git a/app/src/main/java/org/lsposed/manager/ui/fragment/LogsFragment.java b/app/src/main/java/org/lsposed/manager/ui/fragment/LogsFragment.java index 221b74b1..00a6dfcb 100644 --- a/app/src/main/java/org/lsposed/manager/ui/fragment/LogsFragment.java +++ b/app/src/main/java/org/lsposed/manager/ui/fragment/LogsFragment.java @@ -47,7 +47,6 @@ import androidx.appcompat.app.AlertDialog; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; -import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.google.android.material.snackbar.Snackbar; import com.google.android.material.tabs.TabLayout; @@ -56,6 +55,7 @@ import org.lsposed.manager.ConfigManager; import org.lsposed.manager.R; import org.lsposed.manager.databinding.FragmentLogsBinding; import org.lsposed.manager.databinding.ItemLogBinding; +import org.lsposed.manager.ui.dialog.BlurBehindDialogBuilder; import org.lsposed.manager.util.SimpleStatefulAdaptor; import java.io.BufferedReader; @@ -246,7 +246,7 @@ public class LogsFragment extends BaseFragment { @Override synchronized protected void onPreExecute() { - mProgressDialog = new MaterialAlertDialogBuilder(requireActivity()).create(); + mProgressDialog = new BlurBehindDialogBuilder(requireActivity()).create(); mProgressDialog.setMessage(getString(R.string.loading)); mProgressDialog.setCancelable(false); handler.postDelayed(mRunnable, 300); diff --git a/app/src/main/java/org/lsposed/manager/ui/fragment/ModulesFragment.java b/app/src/main/java/org/lsposed/manager/ui/fragment/ModulesFragment.java index d7123703..dcdc7c67 100644 --- a/app/src/main/java/org/lsposed/manager/ui/fragment/ModulesFragment.java +++ b/app/src/main/java/org/lsposed/manager/ui/fragment/ModulesFragment.java @@ -62,7 +62,6 @@ import androidx.viewpager2.widget.ViewPager2; import com.bumptech.glide.request.target.CustomTarget; import com.bumptech.glide.request.transition.Transition; import com.google.android.material.checkbox.MaterialCheckBox; -import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.google.android.material.snackbar.Snackbar; import com.google.android.material.tabs.TabLayout; import com.google.android.material.tabs.TabLayoutMediator; @@ -77,6 +76,7 @@ import org.lsposed.manager.databinding.FragmentPagerBinding; import org.lsposed.manager.databinding.ItemModuleBinding; import org.lsposed.manager.databinding.ItemRepoRecyclerviewBinding; import org.lsposed.manager.repo.RepoLoader; +import org.lsposed.manager.ui.dialog.BlurBehindDialogBuilder; import org.lsposed.manager.ui.widget.EmptyStateRecyclerView; import org.lsposed.manager.util.GlideApp; import org.lsposed.manager.util.ModuleUtil; @@ -201,7 +201,7 @@ public class ModulesFragment extends BaseFragment implements ModuleUtil.ModuleLi } }); pickAdaptor.refresh(); - var dialog = new MaterialAlertDialogBuilder(requireActivity()) + var dialog = new BlurBehindDialogBuilder(requireActivity()) .setTitle(getString(R.string.install_to_user, user.name)) .setView(binding.getRoot()) .setNegativeButton(android.R.string.cancel, null) @@ -254,7 +254,7 @@ public class ModulesFragment extends BaseFragment implements ModuleUtil.ModuleLi } private void installModuleToUser(ModuleUtil.InstalledModule module, UserInfo user) { - new MaterialAlertDialogBuilder(requireActivity()) + new BlurBehindDialogBuilder(requireActivity()) .setTitle(getString(R.string.install_to_user, user.name)) .setMessage(getString(R.string.install_to_user_message, module.getAppName(), user.name)) .setPositiveButton(android.R.string.ok, (dialog, which) -> @@ -303,7 +303,7 @@ public class ModulesFragment extends BaseFragment implements ModuleUtil.ModuleLi ConfigManager.startActivityAsUserWithFeature(new Intent(ACTION_APPLICATION_DETAILS_SETTINGS, Uri.fromParts("package", selectedModule.packageName, null)), selectedModule.userId); return true; } else if (itemId == R.id.menu_uninstall) { - new MaterialAlertDialogBuilder(requireActivity()) + new BlurBehindDialogBuilder(requireActivity()) .setTitle(selectedModule.getAppName()) .setMessage(R.string.module_uninstall_message) .setPositiveButton(android.R.string.ok, (dialog, which) -> diff --git a/app/src/main/java/org/lsposed/manager/ui/fragment/RepoItemFragment.java b/app/src/main/java/org/lsposed/manager/ui/fragment/RepoItemFragment.java index 00100eda..b57c14bd 100644 --- a/app/src/main/java/org/lsposed/manager/ui/fragment/RepoItemFragment.java +++ b/app/src/main/java/org/lsposed/manager/ui/fragment/RepoItemFragment.java @@ -44,7 +44,6 @@ import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import com.google.android.material.button.MaterialButton; -import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.google.android.material.progressindicator.CircularProgressIndicator; import com.google.android.material.snackbar.Snackbar; import com.google.android.material.tabs.TabLayout; @@ -63,6 +62,7 @@ import org.lsposed.manager.repo.model.Collaborator; import org.lsposed.manager.repo.model.OnlineModule; import org.lsposed.manager.repo.model.Release; import org.lsposed.manager.repo.model.ReleaseAsset; +import org.lsposed.manager.ui.dialog.BlurBehindDialogBuilder; import org.lsposed.manager.ui.widget.EmptyStateRecyclerView; import org.lsposed.manager.ui.widget.LinkifyTextView; import org.lsposed.manager.util.NavUtil; @@ -381,7 +381,7 @@ public class RepoItemFragment extends BaseFragment implements RepoLoader.Listene holder.viewAssets.setOnClickListener(v -> { ArrayList names = new ArrayList<>(); assets.forEach(releaseAsset -> names.add(releaseAsset.getName())); - new MaterialAlertDialogBuilder(requireActivity()) + new BlurBehindDialogBuilder(requireActivity()) .setItems(names.toArray(new String[0]), (dialog, which) -> NavUtil.startURL(requireActivity(), assets.get(which).getDownloadUrl())) .show(); }); diff --git a/app/src/main/res/layout/dialog_recyclerview.xml b/app/src/main/res/layout/dialog_recyclerview.xml index 9fc055c7..e1186cb9 100644 --- a/app/src/main/res/layout/dialog_recyclerview.xml +++ b/app/src/main/res/layout/dialog_recyclerview.xml @@ -19,6 +19,7 @@ diff --git a/app/src/main/res/layout/fragment_app_list.xml b/app/src/main/res/layout/fragment_app_list.xml index 859fb234..020aee14 100644 --- a/app/src/main/res/layout/fragment_app_list.xml +++ b/app/src/main/res/layout/fragment_app_list.xml @@ -39,7 +39,7 @@ android:layout_height="wrap_content" android:elevation="0dp" android:minHeight="?attr/actionBarSize" - app:fitsSystemWindowsInsets="top" + app:layout_fitsSystemWindowsInsets="top" app:layout_scrollFlags="scroll|enterAlways" /> diff --git a/app/src/main/res/layout/fragment_repo.xml b/app/src/main/res/layout/fragment_repo.xml index 84c8ee4f..86cbf6a0 100644 --- a/app/src/main/res/layout/fragment_repo.xml +++ b/app/src/main/res/layout/fragment_repo.xml @@ -36,8 +36,10 @@ + android:layout_height="?attr/collapsingToolbarLayoutLargeSize" + app:layout_scrollFlags="scroll|exitUntilCollapsed|snap" + app:titleCollapseMode="fade">