Adjusting the dialog style & better RTL support (#1838)
* Adjusting the dialog style * Fix alignment * Separate appPackageName and appVersionName from appDescription
This commit is contained in:
parent
1e2973beb3
commit
abfac93510
|
|
@ -50,7 +50,6 @@ import android.widget.Filterable;
|
|||
import android.widget.ImageView;
|
||||
import android.widget.Switch;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
|
@ -257,7 +256,7 @@ public class ScopeAdapter extends EmptyStateRecyclerView.EmptyStateAdapter<Scope
|
|||
int itemId = item.getItemId();
|
||||
if (itemId == R.id.use_recommended) {
|
||||
if (!checkedList.isEmpty()) {
|
||||
new BlurBehindDialogBuilder(activity)
|
||||
new BlurBehindDialogBuilder(activity, R.style.ThemeOverlay_MaterialAlertDialog_Centered_FullWidthButtons)
|
||||
.setMessage(R.string.use_recommended_message)
|
||||
.setPositiveButton(android.R.string.ok, (dialog, which) -> checkRecommended())
|
||||
.setNegativeButton(android.R.string.cancel, null)
|
||||
|
|
@ -328,7 +327,7 @@ public class ScopeAdapter extends EmptyStateRecyclerView.EmptyStateAdapter<Scope
|
|||
if (info.packageName.equals("android")) {
|
||||
ConfigManager.reboot(false);
|
||||
} else {
|
||||
new BlurBehindDialogBuilder(activity)
|
||||
new BlurBehindDialogBuilder(activity, R.style.ThemeOverlay_MaterialAlertDialog_Centered_FullWidthButtons)
|
||||
.setTitle(R.string.force_stop_dlg_title)
|
||||
.setMessage(R.string.force_stop_dlg_text)
|
||||
.setPositiveButton(android.R.string.ok, (dialog, which) -> ConfigManager.forceStopPackage(info.packageName, info.uid / 100000))
|
||||
|
|
@ -416,12 +415,15 @@ public class ScopeAdapter extends EmptyStateRecyclerView.EmptyStateAdapter<Scope
|
|||
holder.appIcon.setImageDrawable(pm.getDefaultActivityIcon());
|
||||
}
|
||||
});
|
||||
SpannableStringBuilder sb = new SpannableStringBuilder(android ? "" : activity.getString(R.string.app_description, appInfo.packageName, appInfo.packageInfo.versionName));
|
||||
if (android) holder.appDescription.setVisibility(View.GONE);
|
||||
else {
|
||||
holder.appDescription.setVisibility(View.VISIBLE);
|
||||
holder.appDescription.setText(sb);
|
||||
sb = new SpannableStringBuilder();
|
||||
SpannableStringBuilder sb = new SpannableStringBuilder();
|
||||
if (android) {
|
||||
holder.appPackageName.setVisibility(View.GONE);
|
||||
holder.appVersionName.setVisibility(View.GONE);
|
||||
} else {
|
||||
holder.appPackageName.setVisibility(View.VISIBLE);
|
||||
holder.appVersionName.setVisibility(View.VISIBLE);
|
||||
holder.appPackageName.setText(appInfo.packageName);
|
||||
holder.appVersionName.setText(activity.getString(R.string.app_version, appInfo.packageInfo.versionName));
|
||||
}
|
||||
if (!recommendedList.isEmpty() && recommendedList.contains(appInfo.application)) {
|
||||
String recommended = activity.getString(R.string.requested_by_module);
|
||||
|
|
@ -601,7 +603,8 @@ public class ScopeAdapter extends EmptyStateRecyclerView.EmptyStateAdapter<Scope
|
|||
ConstraintLayout root;
|
||||
ImageView appIcon;
|
||||
TextView appName;
|
||||
TextView appDescription;
|
||||
TextView appPackageName;
|
||||
TextView appVersionName;
|
||||
TextView hint;
|
||||
MaterialCheckBox checkbox;
|
||||
|
||||
|
|
@ -610,7 +613,8 @@ public class ScopeAdapter extends EmptyStateRecyclerView.EmptyStateAdapter<Scope
|
|||
root = binding.itemRoot;
|
||||
appIcon = binding.appIcon;
|
||||
appName = binding.appName;
|
||||
appDescription = binding.description;
|
||||
appPackageName = binding.appPackageName;
|
||||
appVersionName = binding.appVersionName;
|
||||
checkbox = binding.checkbox;
|
||||
hint = binding.hint;
|
||||
checkbox.setVisibility(View.VISIBLE);
|
||||
|
|
@ -665,7 +669,7 @@ public class ScopeAdapter extends EmptyStateRecyclerView.EmptyStateAdapter<Scope
|
|||
public void onBackPressed() {
|
||||
fragment.searchView.clearFocus();
|
||||
if (isLoaded && enabled && checkedList.isEmpty()) {
|
||||
var builder = new BlurBehindDialogBuilder(activity);
|
||||
var builder = new BlurBehindDialogBuilder(activity, R.style.ThemeOverlay_MaterialAlertDialog_Centered_FullWidthButtons);
|
||||
builder.setMessage(!recommendedList.isEmpty() ? R.string.no_scope_selected_has_recommended : R.string.no_scope_selected);
|
||||
if (!recommendedList.isEmpty()) {
|
||||
builder.setPositiveButton(android.R.string.ok, (dialog, which) -> checkRecommended());
|
||||
|
|
@ -674,7 +678,7 @@ public class ScopeAdapter extends EmptyStateRecyclerView.EmptyStateAdapter<Scope
|
|||
}
|
||||
builder.setNegativeButton(!recommendedList.isEmpty() ? android.R.string.cancel : android.R.string.ok, (dialog, which) -> {
|
||||
moduleUtil.setModuleEnabled(module.packageName, false);
|
||||
Toast.makeText(activity, activity.getString(R.string.module_disabled_no_selection, module.getAppName()), Toast.LENGTH_LONG).show();
|
||||
fragment.showHint(activity.getString(R.string.module_disabled_no_selection, module.getAppName()), true);
|
||||
fragment.getNavController().navigateUp();
|
||||
});
|
||||
builder.show();
|
||||
|
|
|
|||
|
|
@ -44,7 +44,11 @@ public class BlurBehindDialogBuilder extends MaterialAlertDialogBuilder {
|
|||
private static final boolean supportBlur = getSystemProperty("ro.surface_flinger.supports_background_blur", false) && !getSystemProperty("persist.sys.sf.disable_blurs", false);
|
||||
|
||||
public BlurBehindDialogBuilder(@NonNull Context context) {
|
||||
super(context, com.google.android.material.R.style.ThemeOverlay_Material3_MaterialAlertDialog_Centered);
|
||||
super(context);
|
||||
}
|
||||
|
||||
public BlurBehindDialogBuilder(@NonNull Context context, int overrideThemeResId) {
|
||||
super(context, overrideThemeResId);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
|
|
@ -57,16 +61,15 @@ public class BlurBehindDialogBuilder extends MaterialAlertDialogBuilder {
|
|||
|
||||
private void setBackgroundBlurRadius(AlertDialog dialog) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||
ValueAnimator animator = ValueAnimator.ofInt(1, 150);
|
||||
animator.setInterpolator(new DecelerateInterpolator());
|
||||
animator.setDuration(150);
|
||||
Window window = dialog.getWindow();
|
||||
View view = window.getDecorView();
|
||||
if (Build.VERSION.SDK_INT >= 31) {
|
||||
window.addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
|
||||
window.getAttributes().setBlurBehindRadius(50);
|
||||
window.getAttributes().setBlurBehindRadius(53); //android.R.styleable.Window_windowBlurBehindRadius
|
||||
window.addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
|
||||
} else if (supportBlur) {
|
||||
View view = window.getDecorView();
|
||||
ValueAnimator animator = ValueAnimator.ofInt(1, 153);
|
||||
animator.setInterpolator(new DecelerateInterpolator());
|
||||
try {
|
||||
Object viewRootImpl = view.getClass().getMethod("getViewRootImpl").invoke(view);
|
||||
if (viewRootImpl == null) {
|
||||
|
|
@ -87,11 +90,9 @@ public class BlurBehindDialogBuilder extends MaterialAlertDialogBuilder {
|
|||
} catch (Throwable t) {
|
||||
Log.e(App.TAG, "Blur behind dialog builder", t);
|
||||
}
|
||||
}
|
||||
view.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() {
|
||||
@Override
|
||||
public void onViewAttachedToWindow(View v) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -102,6 +103,7 @@ public class BlurBehindDialogBuilder extends MaterialAlertDialogBuilder {
|
|||
animator.start();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean getSystemProperty(String key, boolean defaultValue) {
|
||||
boolean value = defaultValue;
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public class FlashDialogBuilder extends BlurBehindDialogBuilder {
|
|||
private final BorderNestedScrollView rootView;
|
||||
|
||||
public FlashDialogBuilder(@NonNull Context context, DialogInterface.OnClickListener cancel) {
|
||||
super(context);
|
||||
super(context, R.style.ThemeOverlay_MaterialAlertDialog_Centered_FullWidthButtons);
|
||||
var pref = App.getPreferences();
|
||||
var notes = pref.getString("release_notes", "");
|
||||
this.zipPath = pref.getString("zip_file", null);
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public class ShortcutDialog extends DialogFragment {
|
|||
@NonNull
|
||||
@Override
|
||||
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
|
||||
return new BlurBehindDialogBuilder(requireContext())
|
||||
return new BlurBehindDialogBuilder(requireContext(), R.style.ThemeOverlay_MaterialAlertDialog_Centered_FullWidthButtons)
|
||||
.setTitle(R.string.parasitic_recommend)
|
||||
.setMessage(R.string.parasitic_recommend_summary)
|
||||
.setNegativeButton(R.string.never_show, (dialog, which) ->
|
||||
|
|
|
|||
|
|
@ -63,6 +63,7 @@ public class CompileDialogFragment extends AppCompatDialogFragment {
|
|||
FragmentCompileDialogBinding binding = FragmentCompileDialogBinding.inflate(LayoutInflater.from(requireActivity()), null, false);
|
||||
final PackageManager pm = requireContext().getPackageManager();
|
||||
var builder = new BlurBehindDialogBuilder(requireActivity())
|
||||
.setIcon(appInfo.loadIcon(pm))
|
||||
.setTitle(appInfo.loadLabel(pm))
|
||||
.setView(binding.getRoot());
|
||||
|
||||
|
|
|
|||
|
|
@ -264,7 +264,7 @@ public class ModulesFragment extends BaseFragment implements ModuleUtil.ModuleLi
|
|||
}
|
||||
|
||||
void installModuleToUser(ModuleUtil.InstalledModule module, UserInfo user) {
|
||||
new BlurBehindDialogBuilder(requireActivity())
|
||||
new BlurBehindDialogBuilder(requireActivity(), R.style.ThemeOverlay_MaterialAlertDialog_Centered_FullWidthButtons)
|
||||
.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) ->
|
||||
|
|
@ -308,7 +308,8 @@ 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 BlurBehindDialogBuilder(requireActivity())
|
||||
new BlurBehindDialogBuilder(requireActivity(), R.style.ThemeOverlay_MaterialAlertDialog_FullWidthButtons)
|
||||
.setIcon(selectedModule.app.loadIcon(pm))
|
||||
.setTitle(selectedModule.getAppName())
|
||||
.setMessage(R.string.module_uninstall_message)
|
||||
.setPositiveButton(android.R.string.ok, (dialog, which) ->
|
||||
|
|
@ -541,7 +542,7 @@ public class ModulesFragment extends BaseFragment implements ModuleUtil.ModuleLi
|
|||
sb.append(getString(R.string.module_empty_description));
|
||||
}
|
||||
holder.appDescription.setText(sb);
|
||||
|
||||
holder.appDescription.setVisibility(View.VISIBLE);
|
||||
sb = new SpannableStringBuilder();
|
||||
|
||||
int installXposedVersion = ConfigManager.getXposedApiVersion();
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ public class RecyclerViewDialogFragment extends AppCompatDialogFragment {
|
|||
pickAdaptor.refresh();
|
||||
var title = DialogTitleBinding.inflate(getLayoutInflater()).getRoot();
|
||||
title.setText(getString(R.string.install_to_user, user.name));
|
||||
var dialog = new BlurBehindDialogBuilder(requireActivity())
|
||||
var dialog = new BlurBehindDialogBuilder(requireActivity(), R.style.ThemeOverlay_MaterialAlertDialog_FullWidthButtons)
|
||||
.setCustomTitle(title)
|
||||
.setView(binding.getRoot())
|
||||
.setNegativeButton(android.R.string.cancel, null)
|
||||
|
|
|
|||
|
|
@ -282,12 +282,12 @@ public class RepoFragment extends BaseFragment implements RepoLoader.RepoListene
|
|||
public void onBindViewHolder(@NonNull RepoAdapter.ViewHolder holder, int position) {
|
||||
OnlineModule module = showList.get(position);
|
||||
holder.appName.setText(module.getDescription());
|
||||
holder.appPackageName.setText(module.getName());
|
||||
|
||||
SpannableStringBuilder sb = new SpannableStringBuilder(module.getName());
|
||||
SpannableStringBuilder sb = new SpannableStringBuilder();
|
||||
|
||||
String summary = module.getSummary();
|
||||
if (summary != null) {
|
||||
sb.append("\n");
|
||||
sb.append(summary);
|
||||
}
|
||||
holder.appDescription.setVisibility(View.VISIBLE);
|
||||
|
|
@ -389,6 +389,7 @@ public class RepoFragment extends BaseFragment implements RepoLoader.RepoListene
|
|||
class ViewHolder extends RecyclerView.ViewHolder {
|
||||
ConstraintLayout root;
|
||||
TextView appName;
|
||||
TextView appPackageName;
|
||||
TextView appDescription;
|
||||
TextView hint;
|
||||
|
||||
|
|
@ -396,6 +397,7 @@ public class RepoFragment extends BaseFragment implements RepoLoader.RepoListene
|
|||
super(binding.getRoot());
|
||||
root = binding.itemRoot;
|
||||
appName = binding.appName;
|
||||
appPackageName=binding.appPackageName;
|
||||
appDescription = binding.description;
|
||||
hint = binding.hint;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -337,8 +337,11 @@ public class RepoItemFragment extends BaseFragment implements RepoLoader.RepoLis
|
|||
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
|
||||
var args = getArguments();
|
||||
if (args == null) throw new IllegalArgumentException();
|
||||
return new BlurBehindDialogBuilder(requireActivity())
|
||||
.setItems(args.getCharSequenceArray("names"), (dialog, which) -> NavUtil.startURL(requireActivity(), args.getStringArrayList("urls").get(which)))
|
||||
return new BlurBehindDialogBuilder(requireActivity(), R.style.ThemeOverlay_MaterialAlertDialog_Centered_FullWidthButtons)
|
||||
.setTitle(R.string.module_release_view_assets)
|
||||
.setPositiveButton(android.R.string.cancel, null)
|
||||
.setItems(args.getCharSequenceArray("names"),
|
||||
(dialog, which) -> NavUtil.startURL(requireActivity(), args.getStringArrayList("urls").get(which)))
|
||||
.create();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -34,8 +34,7 @@
|
|||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/item_root"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
tools:ignore="RtlSymmetry">
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/app_icon"
|
||||
|
|
@ -49,7 +48,7 @@
|
|||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/app_name"
|
||||
android:layout_width="0dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="20dp"
|
||||
android:ellipsize="marquee"
|
||||
|
|
@ -57,39 +56,87 @@
|
|||
android:textAppearance="?android:attr/textAppearanceListItem"
|
||||
android:textIsSelectable="false"
|
||||
android:textSize="16sp"
|
||||
app:layout_constraintBottom_toTopOf="@id/description"
|
||||
app:layout_constrainedWidth="true"
|
||||
app:layout_constraintBottom_toTopOf="@id/app_Package_Name"
|
||||
app:layout_constraintStart_toEndOf="@id/app_icon"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:text="@tools:sample/first_names" />
|
||||
app:layout_constraintWidth_max="wrap"
|
||||
tools:text="LSPosed Manager" />
|
||||
|
||||
<org.lsposed.manager.ui.widget.ExpandableTextView
|
||||
android:id="@+id/description"
|
||||
android:layout_width="0dp"
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/app_Package_Name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:maxLines="5"
|
||||
android:ellipsize="marquee"
|
||||
android:maxLines="1"
|
||||
android:scrollbars="none"
|
||||
android:textAppearance="?android:attr/textAppearanceListItemSecondary"
|
||||
android:textColor="?android:attr/textColorSecondary"
|
||||
app:layout_constraintBottom_toBottomOf="@id/hint"
|
||||
android:visibility="gone"
|
||||
app:layout_constrainedWidth="true"
|
||||
app:layout_constraintBottom_toTopOf="@id/app_Version_Name"
|
||||
app:layout_constraintEnd_toStartOf="@id/checkbox"
|
||||
app:layout_constraintHorizontal_bias="0.0"
|
||||
app:layout_constraintStart_toStartOf="@id/app_name"
|
||||
app:layout_constraintTop_toBottomOf="@id/app_name"
|
||||
tools:text="@tools:sample/lorem" />
|
||||
app:layout_constraintWidth_max="wrap"
|
||||
tools:text="com.lsposed.manager" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/app_Version_Name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="marquee"
|
||||
android:maxLines="1"
|
||||
android:scrollbars="none"
|
||||
android:textAppearance="?android:attr/textAppearanceListItemSecondary"
|
||||
android:visibility="gone"
|
||||
app:layout_constrainedWidth="true"
|
||||
app:layout_constraintBottom_toTopOf="@id/description"
|
||||
app:layout_constraintEnd_toStartOf="@id/checkbox"
|
||||
app:layout_constraintHorizontal_bias="0.0"
|
||||
app:layout_constraintStart_toStartOf="@id/app_Package_Name"
|
||||
app:layout_constraintTop_toBottomOf="@id/app_Package_Name"
|
||||
app:layout_constraintWidth_max="wrap"
|
||||
tools:text="Version :1.8.1" />
|
||||
|
||||
<org.lsposed.manager.ui.widget.ExpandableTextView
|
||||
android:id="@+id/description"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:maxLines="5"
|
||||
android:scrollbars="none"
|
||||
android:textAlignment="viewStart"
|
||||
android:textAppearance="?android:attr/textAppearanceListItemSecondary"
|
||||
android:textColor="?android:attr/textColorSecondary"
|
||||
android:visibility="gone"
|
||||
app:layout_constrainedWidth="true"
|
||||
app:layout_constraintBottom_toBottomOf="@id/hint"
|
||||
app:layout_constraintEnd_toStartOf="@id/checkbox"
|
||||
app:layout_constraintHorizontal_bias="0.0"
|
||||
app:layout_constraintStart_toStartOf="@id/app_Version_Name"
|
||||
app:layout_constraintTop_toBottomOf="@id/app_Version_Name"
|
||||
app:layout_constraintWidth_max="wrap"
|
||||
tools:ignore="RtlCompat"
|
||||
tools:text="A very very very very very very very very very very very very long string" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/hint"
|
||||
android:layout_width="0dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:textAlignment="viewStart"
|
||||
android:textAppearance="?android:attr/textAppearanceListItemSecondary"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:visibility="gone"
|
||||
app:layout_constrainedWidth="true"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@id/checkbox"
|
||||
app:layout_constraintHorizontal_bias="0.0"
|
||||
app:layout_constraintStart_toStartOf="@id/description"
|
||||
app:layout_constraintTop_toBottomOf="@id/description"
|
||||
app:layout_constraintWidth_max="wrap"
|
||||
tools:ignore="RtlCompat"
|
||||
tools:text="@tools:sample/lorem" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
|
|
@ -105,11 +152,12 @@
|
|||
android:textColor="?android:attr/textColorSecondary"
|
||||
android:textIsSelectable="false"
|
||||
android:visibility="gone"
|
||||
app:layout_constrainedWidth="true"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="1.0"
|
||||
app:layout_constraintStart_toEndOf="@id/app_name"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:ignore="RtlHardcoded"
|
||||
app:layout_constraintWidth_max="wrap"
|
||||
tools:text="@tools:sample/last_names" />
|
||||
|
||||
<com.google.android.material.checkbox.MaterialCheckBox
|
||||
|
|
|
|||
|
|
@ -35,48 +35,75 @@
|
|||
android:id="@+id/item_root"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
tools:ignore="RtlSymmetry">
|
||||
android:layout_gravity="center">
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/app_name"
|
||||
android:layout_width="0dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="marquee"
|
||||
android:maxLines="1"
|
||||
android:scrollbars="none"
|
||||
android:textAppearance="?android:attr/textAppearanceListItem"
|
||||
android:textSize="16sp"
|
||||
app:layout_constrainedWidth="true"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/description"
|
||||
app:layout_constraintBottom_toTopOf="@id/app_Package_Name"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintWidth_max="wrap"
|
||||
tools:text="@tools:sample/lorem" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/app_Package_Name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="marquee"
|
||||
android:maxLines="1"
|
||||
android:scrollbars="none"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
app:layout_constrainedWidth="true"
|
||||
app:layout_constraintBottom_toTopOf="@id/description"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.0"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/app_name"
|
||||
app:layout_constraintWidth_max="wrap"
|
||||
tools:text="@tools:sample/lorem" />
|
||||
|
||||
<org.lsposed.manager.ui.widget.ExpandableTextView
|
||||
android:id="@+id/description"
|
||||
android:layout_width="0dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:maxLines="6"
|
||||
android:scrollbars="none"
|
||||
android:textAlignment="viewStart"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
app:layout_constrainedWidth="true"
|
||||
app:layout_constraintBottom_toTopOf="@id/hint"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="@+id/app_name"
|
||||
app:layout_constraintTop_toBottomOf="@id/app_name"
|
||||
tools:text="@tools:sample/lorem" />
|
||||
app:layout_constraintHorizontal_bias="0.0"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/app_Package_Name"
|
||||
app:layout_constraintWidth_max="wrap"
|
||||
tools:ignore="RtlCompat"
|
||||
tools:text="A very very very very very very very very very very very very \n long string" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/hint"
|
||||
android:layout_width="0dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:textAppearance="?android:attr/textAppearanceListItemSecondary"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
app:layout_constrainedWidth="true"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.0"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/description"
|
||||
app:layout_constraintWidth_max="wrap"
|
||||
tools:text="@tools:sample/lorem" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
|
|
|||
|
|
@ -37,19 +37,20 @@
|
|||
android:id="@+id/item_root"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="center"
|
||||
tools:ignore="RtlSymmetry">
|
||||
android:layout_gravity="center">
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/title"
|
||||
android:layout_width="0dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAppearance="?android:attr/textAppearanceListItem"
|
||||
android:textSize="16sp"
|
||||
app:layout_constrainedWidth="true"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/description"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintWidth_max="wrap"
|
||||
tools:text="@tools:sample/lorem" />
|
||||
|
||||
<org.lsposed.manager.ui.widget.ScrollWebView
|
||||
|
|
|
|||
|
|
@ -33,33 +33,35 @@
|
|||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/item_root"
|
||||
android:layout_gravity="center"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
tools:ignore="RtlSymmetry">
|
||||
android:layout_gravity="center">
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/title"
|
||||
android:layout_width="0dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAppearance="?android:attr/textAppearanceListItem"
|
||||
android:textSize="16sp"
|
||||
app:layout_constraintBottom_toTopOf="@id/description"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constrainedWidth="true"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/description"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintWidth_max="wrap"
|
||||
tools:text="@tools:sample/lorem" />
|
||||
|
||||
<org.lsposed.manager.ui.widget.LinkifyTextView
|
||||
android:id="@+id/description"
|
||||
android:layout_width="0dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
app:layout_constrainedWidth="true"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="@+id/title"
|
||||
app:layout_constraintTop_toBottomOf="@id/title"
|
||||
app:layout_constraintWidth_max="wrap"
|
||||
tools:text="@tools:sample/lorem" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
|
|
|||
|
|
@ -127,7 +127,6 @@
|
|||
<string name="menu_show_modules">Modules</string>
|
||||
<string name="menu_show_denylist">Ontkenlys</string>
|
||||
<string name="failed_to_save_scope_list">Kon nie omvanglys stoor nie</string>
|
||||
<string name="app_description">%1$s\nWeergawe %2$s</string>
|
||||
<string name="use_recommended">Aanbeveel</string>
|
||||
<string name="no_scope_selected_has_recommended">Jy het geen toepassing gekies nie. Kies aanbevole programme?</string>
|
||||
<string name="use_recommended_message">Kies aanbevole programme?</string>
|
||||
|
|
|
|||
|
|
@ -136,7 +136,6 @@ Ali Samir</string>
|
|||
<string name="menu_show_modules">وحدات</string>
|
||||
<string name="menu_show_denylist">قائمة الرفض</string>
|
||||
<string name="failed_to_save_scope_list">فشل في حفظ قائمة النطاق</string>
|
||||
<string name="app_description">%1$s\nإصدار %2$s</string>
|
||||
<string name="use_recommended">مُوصى به</string>
|
||||
<string name="no_scope_selected_has_recommended">أنت لم تحدد أي تطبيق. تحديد التطبيقات الموصى بها؟</string>
|
||||
<string name="use_recommended_message">تحديد التطبيقات الموصى بها؟</string>
|
||||
|
|
|
|||
|
|
@ -127,7 +127,6 @@
|
|||
<string name="menu_show_modules">Mòduls</string>
|
||||
<string name="menu_show_denylist">Llista de denegació</string>
|
||||
<string name="failed_to_save_scope_list">No s\'ha pogut desar la llista d\'àmbits</string>
|
||||
<string name="app_description">%1$s\nVersió %2$s</string>
|
||||
<string name="use_recommended">Recomanat</string>
|
||||
<string name="no_scope_selected_has_recommended">No heu seleccionat cap aplicació. Seleccioneu aplicacions recomanades?</string>
|
||||
<string name="use_recommended_message">Vols seleccionar aplicacions recomanades?</string>
|
||||
|
|
|
|||
|
|
@ -131,7 +131,6 @@
|
|||
<string name="menu_show_modules">Moduly</string>
|
||||
<string name="menu_show_denylist">Seznam zakázaných</string>
|
||||
<string name="failed_to_save_scope_list">Nepodařilo se uložit seznam</string>
|
||||
<string name="app_description">%1$s\nVerze %2$s</string>
|
||||
<string name="use_recommended">Zvolit doporučené</string>
|
||||
<string name="no_scope_selected_has_recommended">Nevybrali jste žádnou aplikaci. Vybrat doporučené aplikace?</string>
|
||||
<string name="use_recommended_message">Vybrat doporučené aplikace?</string>
|
||||
|
|
|
|||
|
|
@ -127,7 +127,6 @@
|
|||
<string name="menu_show_modules">Moduler</string>
|
||||
<string name="menu_show_denylist">Denylist</string>
|
||||
<string name="failed_to_save_scope_list">Kunne ikke gemme scope-liste</string>
|
||||
<string name="app_description">%1$s\nVersion %2$s</string>
|
||||
<string name="use_recommended">Anbefalet</string>
|
||||
<string name="no_scope_selected_has_recommended">Du valgte ikke nogen app. Vælg anbefalede apps?</string>
|
||||
<string name="use_recommended_message">Vælg anbefalede apps?</string>
|
||||
|
|
|
|||
|
|
@ -128,7 +128,6 @@ JJ108</string>
|
|||
<string name="menu_show_modules">Module</string>
|
||||
<string name="menu_show_denylist">Verweigerungsliste</string>
|
||||
<string name="failed_to_save_scope_list">Das Speichern der Scope-Liste ist fehlgeschlagen</string>
|
||||
<string name="app_description">%1$s\nVersion %2$s</string>
|
||||
<string name="use_recommended">Empfohlen</string>
|
||||
<string name="no_scope_selected_has_recommended">Sie haben keine App ausgewählt. Empfohlene Apps auswählen?</string>
|
||||
<string name="use_recommended_message">Empfohlene Apps auswählen?</string>
|
||||
|
|
|
|||
|
|
@ -127,7 +127,6 @@
|
|||
<string name="menu_show_modules">Πρόσθετα</string>
|
||||
<string name="menu_show_denylist">Denylist</string>
|
||||
<string name="failed_to_save_scope_list">Αποτυχία αποθήκευσης της λίστας πεδίου</string>
|
||||
<string name="app_description">%1$s\nΈκδοση %2$s</string>
|
||||
<string name="use_recommended">Προτεινόμενο</string>
|
||||
<string name="no_scope_selected_has_recommended">Δεν έχετε επιλέξει καμία εφαρμογή. Επιλέξτε τις προτεινόμενες εφαρμογές?</string>
|
||||
<string name="use_recommended_message">Επιλέξτε προτεινόμενες εφαρμογές?</string>
|
||||
|
|
|
|||
|
|
@ -127,7 +127,6 @@
|
|||
<string name="menu_show_modules">Módulos</string>
|
||||
<string name="menu_show_denylist">Lista de denegación</string>
|
||||
<string name="failed_to_save_scope_list">Fallo al guardar la lista de scopes</string>
|
||||
<string name="app_description">%1$s\nVersión %2$s</string>
|
||||
<string name="use_recommended">Recomendado</string>
|
||||
<string name="no_scope_selected_has_recommended">No seleccionaste ninguna aplicación. ¿Quieres seleccionar las aplicaciones recomendadas?</string>
|
||||
<string name="use_recommended_message">¿Quieres seleccionar las aplicaciones recomendadas?</string>
|
||||
|
|
|
|||
|
|
@ -127,7 +127,6 @@
|
|||
<string name="menu_show_modules">ماژول ها</string>
|
||||
<string name="menu_show_denylist">انکار کننده</string>
|
||||
<string name="failed_to_save_scope_list">ناموفق در ذخیره لیست محدوده</string>
|
||||
<string name="app_description">%1$s\n نسخه %2$s</string>
|
||||
<string name="use_recommended">نیازمنده</string>
|
||||
<string name="no_scope_selected_has_recommended">شما هیچ برنامه ای را انتخاب نکردید. انتخاب برنامه های نیازمند؟</string>
|
||||
<string name="use_recommended_message">انتخاب برنامه های نیازمند؟</string>
|
||||
|
|
|
|||
|
|
@ -127,7 +127,6 @@
|
|||
<string name="menu_show_modules">Moduulit</string>
|
||||
<string name="menu_show_denylist">Denylist</string>
|
||||
<string name="failed_to_save_scope_list">Valmistelulistan tallentaminen epäonnistui</string>
|
||||
<string name="app_description">%1$s\nVersio %2$s</string>
|
||||
<string name="use_recommended">Suositeltu</string>
|
||||
<string name="no_scope_selected_has_recommended">Et valinnut yhtään sovellusta. Valitse suositellut sovellukset?</string>
|
||||
<string name="use_recommended_message">Valitse suositellut sovellukset?</string>
|
||||
|
|
|
|||
|
|
@ -128,7 +128,6 @@ https://github.com/tclement0922</string>
|
|||
<string name="menu_show_modules">Modules</string>
|
||||
<string name="menu_show_denylist">Liste de refus</string>
|
||||
<string name="failed_to_save_scope_list">Échec de l\'enregistrement de la liste des périmètres d\'applications</string>
|
||||
<string name="app_description">%1$s\nVersion %2$s</string>
|
||||
<string name="use_recommended">Recommandé</string>
|
||||
<string name="no_scope_selected_has_recommended">Vous n\'avez sélectionné aucune application. Sélectionner les applications recommandées ?</string>
|
||||
<string name="use_recommended_message">Sélectionner les applications recommandées ?</string>
|
||||
|
|
|
|||
|
|
@ -128,7 +128,6 @@
|
|||
<string name="menu_show_modules">Modulok</string>
|
||||
<string name="menu_show_denylist">Denylist</string>
|
||||
<string name="failed_to_save_scope_list">Nem sikerült elmenteni a hatókör listát</string>
|
||||
<string name="app_description">%1$s\nVerzió %2$s</string>
|
||||
<string name="use_recommended">Ajánlott</string>
|
||||
<string name="no_scope_selected_has_recommended">Nem választott ki egyetlen alkalmazást sem. Válassza ki az ajánlott alkalmazásokat?</string>
|
||||
<string name="use_recommended_message">Válassza ki az ajánlott alkalmazásokat?</string>
|
||||
|
|
|
|||
|
|
@ -125,7 +125,6 @@
|
|||
<string name="menu_show_modules">Modul</string>
|
||||
<string name="menu_show_denylist">Penyangkalan</string>
|
||||
<string name="failed_to_save_scope_list">Gagal menyimpan ke daftar cakupan</string>
|
||||
<string name="app_description">%1$s\nVersi %2$s</string>
|
||||
<string name="use_recommended">Direkomendasikan</string>
|
||||
<string name="no_scope_selected_has_recommended">Anda tidak memilih aplikasi apapun. Pilih aplikasi yang disarankan?</string>
|
||||
<string name="use_recommended_message">Pilih aplikasi yang disarankan?</string>
|
||||
|
|
|
|||
|
|
@ -127,7 +127,6 @@
|
|||
<string name="menu_show_modules">Moduli</string>
|
||||
<string name="menu_show_denylist">Lista di blocco</string>
|
||||
<string name="failed_to_save_scope_list">Impossibile salvare l\'elenco delle attivazioni</string>
|
||||
<string name="app_description">%1$s\nVersione %2$s</string>
|
||||
<string name="use_recommended">Seleziona consigliate</string>
|
||||
<string name="no_scope_selected_has_recommended">Non hai selezionato nessuna app. Selezionare le app consigliate?</string>
|
||||
<string name="use_recommended_message">Selezionare le app consigliate?</string>
|
||||
|
|
|
|||
|
|
@ -132,7 +132,6 @@
|
|||
<string name="menu_show_modules">מודולים</string>
|
||||
<string name="menu_show_denylist">רשימת דחיה</string>
|
||||
<string name="failed_to_save_scope_list">נכשל לשמור רשימת תחומים</string>
|
||||
<string name="app_description">%1$s\nגרסה %2$s</string>
|
||||
<string name="use_recommended">מומלץ</string>
|
||||
<string name="no_scope_selected_has_recommended">אתה לא בחרת שום אפליקציה. לבחור אפליקציות מומלצות?</string>
|
||||
<string name="use_recommended_message">בחר אפליקציות מומלצות?</string>
|
||||
|
|
|
|||
|
|
@ -125,7 +125,6 @@
|
|||
<string name="menu_show_modules">モジュール</string>
|
||||
<string name="menu_show_denylist">拒否リスト</string>
|
||||
<string name="failed_to_save_scope_list">スコープリストの保存に失敗</string>
|
||||
<string name="app_description">%1$s\nバージョン %2$s</string>
|
||||
<string name="use_recommended">おすすめ</string>
|
||||
<string name="no_scope_selected_has_recommended">アプリが選択されていません。おすすめのアプリを選択しますか?</string>
|
||||
<string name="use_recommended_message">おすすめのアプリを選択しますか?</string>
|
||||
|
|
|
|||
|
|
@ -125,7 +125,6 @@
|
|||
<string name="menu_show_modules">모듈</string>
|
||||
<string name="menu_show_denylist">거부자</string>
|
||||
<string name="failed_to_save_scope_list">범위 목록 저장에 실패했습니다.</string>
|
||||
<string name="app_description">%1$s\n버전 %2$s</string>
|
||||
<string name="use_recommended">권장된</string>
|
||||
<string name="no_scope_selected_has_recommended">앱을 선택하지 않았습니다. 권장 앱을 선택하시겠습니까?</string>
|
||||
<string name="use_recommended_message">권장 앱을 선택하시겠습니까?</string>
|
||||
|
|
|
|||
|
|
@ -127,7 +127,6 @@
|
|||
<string name="menu_show_modules">Modules</string>
|
||||
<string name="menu_show_denylist">Denylist</string>
|
||||
<string name="failed_to_save_scope_list">Hilbijartina navnîşa çarçovê bi ser neket</string>
|
||||
<string name="app_description">%1$s\nGuhertoya %2$s</string>
|
||||
<string name="use_recommended">Pêşniyar kirin</string>
|
||||
<string name="no_scope_selected_has_recommended">Te tu sepanê hilnebijart. Serlêdanên pêşniyarkirî hilbijêrin?</string>
|
||||
<string name="use_recommended_message">Serlêdanên pêşniyarkirî hilbijêrin?</string>
|
||||
|
|
|
|||
|
|
@ -131,7 +131,6 @@
|
|||
<string name="menu_show_modules">Moduliai</string>
|
||||
<string name="menu_show_denylist">Denylist</string>
|
||||
<string name="failed_to_save_scope_list">Nepavyko išsaugoti srities sąrašo</string>
|
||||
<string name="app_description">%1$s\nVersija %2$s</string>
|
||||
<string name="use_recommended">Rekomenduojama</string>
|
||||
<string name="no_scope_selected_has_recommended">Nepasirinkote jokios programos. Pasirinkti rekomenduojamas programas?</string>
|
||||
<string name="use_recommended_message">Pasirinkite rekomenduojamas programas?</string>
|
||||
|
|
|
|||
|
|
@ -127,7 +127,6 @@
|
|||
<string name="menu_show_modules">Modules</string>
|
||||
<string name="menu_show_denylist">Weigerlijst</string>
|
||||
<string name="failed_to_save_scope_list">Scopelijst opslaan is mislukt</string>
|
||||
<string name="app_description">%1$s\nVersie %2$s</string>
|
||||
<string name="use_recommended">Aanbevolen</string>
|
||||
<string name="no_scope_selected_has_recommended">U heeft geen app geselecteerd. Aanbevolen apps selecteren?</string>
|
||||
<string name="use_recommended_message">Aanbevolen apps selecteren?</string>
|
||||
|
|
|
|||
|
|
@ -127,7 +127,6 @@
|
|||
<string name="menu_show_modules">Moduler</string>
|
||||
<string name="menu_show_denylist">Denylist</string>
|
||||
<string name="failed_to_save_scope_list">Kan ikke lagre områdeliste</string>
|
||||
<string name="app_description">%1$s\nVersjon %2$s</string>
|
||||
<string name="use_recommended">Anbefalt</string>
|
||||
<string name="no_scope_selected_has_recommended">Du valgte ingen applikasjoner. Velg anbefalte apper?</string>
|
||||
<string name="use_recommended_message">Velg anbefalte apper?</string>
|
||||
|
|
|
|||
|
|
@ -131,7 +131,6 @@
|
|||
<string name="menu_show_modules">Moduły</string>
|
||||
<string name="menu_show_denylist">Lista zabronionych</string>
|
||||
<string name="failed_to_save_scope_list">Nie udało się zapisać listy zakresu</string>
|
||||
<string name="app_description">%1$s\nWersja %2$s</string>
|
||||
<string name="use_recommended">Rekomendowane</string>
|
||||
<string name="no_scope_selected_has_recommended">Nie wybrałeś żadnej aplikacji. Wybrać rekomendowane aplikacje?</string>
|
||||
<string name="use_recommended_message">Wybrać rekomendowane aplikacje?</string>
|
||||
|
|
|
|||
|
|
@ -127,7 +127,6 @@
|
|||
<string name="menu_show_modules">Módulos</string>
|
||||
<string name="menu_show_denylist">Lista de Negação</string>
|
||||
<string name="failed_to_save_scope_list">Falha ao salvar lista de escopos</string>
|
||||
<string name="app_description">%1$s\nVersão %2$s</string>
|
||||
<string name="use_recommended">Recomendações</string>
|
||||
<string name="no_scope_selected_has_recommended">Você não selecionou nenhum aplicativo. Deseja selecionar os aplicativos recomendados?</string>
|
||||
<string name="use_recommended_message">Selecionar os aplicativos recomendados?</string>
|
||||
|
|
|
|||
|
|
@ -127,7 +127,6 @@
|
|||
<string name="menu_show_modules">Módulos</string>
|
||||
<string name="menu_show_denylist">Lista de Negação</string>
|
||||
<string name="failed_to_save_scope_list">Falha ao salvar lista de escopos</string>
|
||||
<string name="app_description">%1$s\nVersão %2$s</string>
|
||||
<string name="use_recommended">Recomendações</string>
|
||||
<string name="no_scope_selected_has_recommended">Você não selecionou nenhum aplicativo. Deseja selecionar os aplicativos recomendados?</string>
|
||||
<string name="use_recommended_message">Selecionar os aplicativos recomendados?</string>
|
||||
|
|
|
|||
|
|
@ -129,7 +129,6 @@
|
|||
<string name="menu_show_modules">Module</string>
|
||||
<string name="menu_show_denylist">Denylist</string>
|
||||
<string name="failed_to_save_scope_list">Salvare eșuată listă de scop</string>
|
||||
<string name="app_description">%1$s\nVersiunea %2$s</string>
|
||||
<string name="use_recommended">Recomandate</string>
|
||||
<string name="no_scope_selected_has_recommended">Nu ați selectat nicio aplicație. Selectați aplicațiile recomandate?</string>
|
||||
<string name="use_recommended_message">Selectaţi aplicaţiile recomandate?</string>
|
||||
|
|
|
|||
|
|
@ -131,7 +131,6 @@
|
|||
<string name="menu_show_modules">Мои модули</string>
|
||||
<string name="menu_show_denylist">DenyList</string>
|
||||
<string name="failed_to_save_scope_list">Не удалось сохранить список выбранных приложений для модуля</string>
|
||||
<string name="app_description">%1$s\nВерсия: %2$s</string>
|
||||
<string name="use_recommended">Рекомендуемые</string>
|
||||
<string name="no_scope_selected_has_recommended">Вы не выбрали ни одного приложения. Выбрать рекомендуемые приложения?</string>
|
||||
<string name="use_recommended_message">Выбрать рекомендуемые приложения?</string>
|
||||
|
|
|
|||
|
|
@ -127,7 +127,6 @@
|
|||
<string name="menu_show_modules">Moduler</string>
|
||||
<string name="menu_show_denylist">Neka</string>
|
||||
<string name="failed_to_save_scope_list">Det gick inte att spara omfattningslistan</string>
|
||||
<string name="app_description">%1$s\nVersion %2$s</string>
|
||||
<string name="use_recommended">Rekommenderad</string>
|
||||
<string name="no_scope_selected_has_recommended">Du valde inte någon app. Välj rekommenderade appar?</string>
|
||||
<string name="use_recommended_message">Välj rekommenderade appar?</string>
|
||||
|
|
|
|||
|
|
@ -125,7 +125,6 @@
|
|||
<string name="menu_show_modules">โมดูล</string>
|
||||
<string name="menu_show_denylist">ปฏิเสธ</string>
|
||||
<string name="failed_to_save_scope_list">ไม่สามารถบันทึกรายการขอบเขต</string>
|
||||
<string name="app_description">%1$s\nเวอร์ชัน %2$s</string>
|
||||
<string name="use_recommended">ที่แนะนำ</string>
|
||||
<string name="no_scope_selected_has_recommended">คุณไม่ได้เลือกแอพใด ๆ เลือกแอพที่แนะนำ?</string>
|
||||
<string name="use_recommended_message">เลือกแอพที่แนะนำ?</string>
|
||||
|
|
|
|||
|
|
@ -127,7 +127,6 @@
|
|||
<string name="menu_show_modules">Modüller</string>
|
||||
<string name="menu_show_denylist">Reddetme Listesi</string>
|
||||
<string name="failed_to_save_scope_list">Kapsam listesi kaydedilemedi</string>
|
||||
<string name="app_description">%1$s\nSürüm %2$s</string>
|
||||
<string name="use_recommended">Önerilen</string>
|
||||
<string name="no_scope_selected_has_recommended">Herhangi bir uygulama seçmediniz. Önerilen uygulamalar seçilsin mi?</string>
|
||||
<string name="use_recommended_message">Önerilen uygulamalar seçilsin mi?</string>
|
||||
|
|
|
|||
|
|
@ -131,7 +131,6 @@
|
|||
<string name="menu_show_modules">Модулі</string>
|
||||
<string name="menu_show_denylist">Показати чорний список</string>
|
||||
<string name="failed_to_save_scope_list">Не вдалося зберегти список областей</string>
|
||||
<string name="app_description">%1$s\nВерсія %2$s</string>
|
||||
<string name="use_recommended">Рекомендовано</string>
|
||||
<string name="no_scope_selected_has_recommended">Ви не вибрали жодної програми. Вибрати рекомендовані програми?</string>
|
||||
<string name="use_recommended_message">Вибрати рекомендовані програми?</string>
|
||||
|
|
|
|||
|
|
@ -127,7 +127,6 @@
|
|||
<string name="menu_show_modules">ماڈیولز</string>
|
||||
<string name="menu_show_denylist">انکار کرنے والا</string>
|
||||
<string name="failed_to_save_scope_list">دائرہ کار کی فہرست کو محفوظ کرنے میں ناکام</string>
|
||||
<string name="app_description">%1$s\nورژن %2$s</string>
|
||||
<string name="use_recommended">سفارش کریں۔</string>
|
||||
<string name="no_scope_selected_has_recommended">آپ نے کوئی ایپ منتخب نہیں کی۔ تجویز کردہ ایپس کو منتخب کریں؟</string>
|
||||
<string name="use_recommended_message">تجویز کردہ ایپس کو منتخب کریں?</string>
|
||||
|
|
|
|||
|
|
@ -125,7 +125,6 @@
|
|||
<string name="menu_show_modules">Mô-đun</string>
|
||||
<string name="menu_show_denylist">Danh sách từ chối</string>
|
||||
<string name="failed_to_save_scope_list">Lưu danh sách phạm vi thất bại</string>
|
||||
<string name="app_description">%1$s\nPhiên bản %2$s</string>
|
||||
<string name="use_recommended">Được khuyến cáo</string>
|
||||
<string name="no_scope_selected_has_recommended">Bạn đã không lựa chọn bất kỳ ứng dụng nào. Lựa chọn những ứng dụng được khuyến nghị?</string>
|
||||
<string name="use_recommended_message">Lựa chọn những ứng dụng được khuyến cáo?</string>
|
||||
|
|
|
|||
|
|
@ -125,7 +125,7 @@
|
|||
<string name="menu_show_modules">模块</string>
|
||||
<string name="menu_show_denylist">排除列表</string>
|
||||
<string name="failed_to_save_scope_list">作用域列表保存失败</string>
|
||||
<string name="app_description">%1$s\n版本:%2$s</string>
|
||||
<string name="app_version">版本:%1$s</string>
|
||||
<string name="use_recommended">勾选推荐</string>
|
||||
<string name="no_scope_selected_has_recommended">未选择任何应用。选择推荐的应用?</string>
|
||||
<string name="use_recommended_message">选择推荐的应用?</string>
|
||||
|
|
|
|||
|
|
@ -127,7 +127,6 @@
|
|||
<string name="menu_show_modules">模組</string>
|
||||
<string name="menu_show_denylist">拒絕名單</string>
|
||||
<string name="failed_to_save_scope_list">作用域名單保存失敗</string>
|
||||
<string name="app_description">%1$s\n版本:%2$s</string>
|
||||
<string name="use_recommended">推薦應用程式</string>
|
||||
<string name="no_scope_selected_has_recommended">未選擇任何應用程式。選擇推薦的?</string>
|
||||
<string name="use_recommended_message">選擇推薦的應用程式?</string>
|
||||
|
|
|
|||
|
|
@ -125,7 +125,6 @@
|
|||
<string name="menu_show_modules">模組</string>
|
||||
<string name="menu_show_denylist">Magisk 排除列表</string>
|
||||
<string name="failed_to_save_scope_list">作用域列表儲存失敗</string>
|
||||
<string name="app_description">%1$s\n版本 %2$s</string>
|
||||
<string name="use_recommended">推薦程式</string>
|
||||
<string name="no_scope_selected_has_recommended">未選擇任何程式,選擇推薦的程式?</string>
|
||||
<string name="use_recommended_message">選擇推薦的程式?</string>
|
||||
|
|
|
|||
|
|
@ -131,7 +131,7 @@
|
|||
<string name="menu_show_modules">Modules</string>
|
||||
<string name="menu_show_denylist">Denylist</string>
|
||||
<string name="failed_to_save_scope_list">Failed to save scope list</string>
|
||||
<string name="app_description">%1$s\nVersion %2$s</string>
|
||||
<string name="app_version">Version: %1$s</string>
|
||||
<string name="use_recommended">Recommended</string>
|
||||
<string name="no_scope_selected_has_recommended">You did not select any app. Select recommended apps?</string>
|
||||
<string name="use_recommended_message">Select recommended apps?</string>
|
||||
|
|
|
|||
|
|
@ -34,5 +34,23 @@
|
|||
<style name="language_menu_style" parent="ThemeOverlay.Preference.SimpleMenuPreference.PopupMenu">
|
||||
<item name="android:textAlignment">textStart</item>
|
||||
</style>
|
||||
|
||||
<style name="Widget.Button.TextButton.Dialog.FullWidth" parent="Widget.Material3.Button.TextButton.Dialog.Flush">
|
||||
<item name="android:layout_width">0dp</item>
|
||||
<item name="android:layout_weight">1</item>
|
||||
<item name="android:maxWidth">@null</item>
|
||||
</style>
|
||||
<style name="ThemeOverlay.MaterialAlertDialog.Centered.FullWidthButtons" parent="ThemeOverlay.Material3.MaterialAlertDialog.Centered">
|
||||
<!-- Mark spacer as gone when showing full width buttons -->
|
||||
<item name="materialAlertDialogButtonSpacerVisibility">2</item>
|
||||
<item name="buttonBarPositiveButtonStyle">@style/Widget.Button.TextButton.Dialog.FullWidth</item>
|
||||
<item name="buttonBarNegativeButtonStyle">@style/Widget.Button.TextButton.Dialog.FullWidth</item>
|
||||
<item name="buttonBarNeutralButtonStyle">@style/Widget.Button.TextButton.Dialog.FullWidth</item>
|
||||
</style>
|
||||
<style name="ThemeOverlay.MaterialAlertDialog.FullWidthButtons" parent="ThemeOverlay.Material3.MaterialAlertDialog">
|
||||
<!-- Mark spacer as gone when showing full width buttons -->
|
||||
<item name="materialAlertDialogButtonSpacerVisibility">2</item>
|
||||
<item name="buttonBarPositiveButtonStyle">@style/Widget.Button.TextButton.Dialog.FullWidth</item>
|
||||
<item name="buttonBarNegativeButtonStyle">@style/Widget.Button.TextButton.Dialog.FullWidth</item>
|
||||
<item name="buttonBarNeutralButtonStyle">@style/Widget.Button.TextButton.Dialog.FullWidth</item>
|
||||
</style>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -35,7 +35,6 @@
|
|||
<item name="android:colorAccent">?colorPrimary</item>
|
||||
<!-- Preference switch -->
|
||||
<item name="android:colorControlActivated">?colorPrimary</item>
|
||||
<item name="android:textAlignment">viewStart</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Light" parent="Base.AppTheme.Light" />
|
||||
|
|
@ -52,7 +51,6 @@
|
|||
<item name="android:colorAccent">?colorPrimary</item>
|
||||
<!-- Preference switch -->
|
||||
<item name="android:colorControlActivated">?colorPrimary</item>
|
||||
<item name="android:textAlignment">viewStart</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme" parent="Base.AppTheme" />
|
||||
|
|
|
|||
Loading…
Reference in New Issue