Skip to content

Commit 95964c3

Browse files
committed
[Profile] Use M3-style preferences in Configurations
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
1 parent e24eb8d commit 95964c3

1 file changed

Lines changed: 23 additions & 0 deletions

File tree

app/src/main/java/io/github/muntashirakon/AppManager/profiles/ConfPreferences.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import android.os.Bundle;
66
import android.text.TextUtils;
7+
import android.util.TypedValue;
78
import android.view.View;
89

910
import androidx.annotation.NonNull;
@@ -28,6 +29,7 @@
2829
import io.github.muntashirakon.AppManager.profiles.struct.AppsBaseProfile;
2930
import io.github.muntashirakon.AppManager.profiles.struct.BaseProfile;
3031
import io.github.muntashirakon.AppManager.rules.RulesTypeSelectionDialogFragment;
32+
import io.github.muntashirakon.AppManager.settings.M3PreferenceGroupDecoration;
3133
import io.github.muntashirakon.AppManager.users.UserInfo;
3234
import io.github.muntashirakon.AppManager.users.Users;
3335
import io.github.muntashirakon.AppManager.utils.ArrayUtils;
@@ -61,6 +63,27 @@ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceStat
6163
recyclerView.setFitsSystemWindows(true);
6264
recyclerView.setClipToPadding(false);
6365
UiUtils.applyWindowInsetsAsPadding(recyclerView, false, true);
66+
67+
// Use M3 design for preference cards
68+
float m3CornerRadius;
69+
float m3CornerRadiusInner;
70+
TypedValue typedValue = new TypedValue();
71+
if (requireContext().getTheme().resolveAttribute(io.github.muntashirakon.ui.R.attr.listItemCornerRadius, typedValue, true)) {
72+
m3CornerRadius = typedValue.getDimension(getResources().getDisplayMetrics());
73+
} else {
74+
throw new RuntimeException("?attr/listItemCornerRadius not defined.");
75+
}
76+
if (requireContext().getTheme().resolveAttribute(io.github.muntashirakon.ui.R.attr.listItemCornerRadiusInner, typedValue, true)) {
77+
m3CornerRadiusInner = typedValue.getDimension(getResources().getDisplayMetrics());
78+
} else {
79+
throw new RuntimeException("?attr/listItemCornerRadiusInner not defined.");
80+
}
81+
82+
// Apply the decorator with the specific radius
83+
recyclerView.addItemDecoration(new M3PreferenceGroupDecoration(m3CornerRadius, m3CornerRadiusInner));
84+
85+
// Remove old style line dividers
86+
setDivider(null);
6487
}
6588

6689
@Override

0 commit comments

Comments
 (0)