diff --git a/res/values/cherish_strings.xml b/res/values/cherish_strings.xml
index 2065bfe..0618e03 100644
--- a/res/values/cherish_strings.xml
+++ b/res/values/cherish_strings.xml
@@ -747,10 +747,6 @@
Click to partial screenshot
Short click Volume Down and Power to take partial screenshot
-
-
- UI Style
- Set custom style for your interface
Smart pixels is a power saving feature. Depending on how many pixels you decide to turn off, you could see improvement in battery life. Note that in some cases it can result in unresponsive areas on touch screen
diff --git a/res/xml/cherish_settings_theme.xml b/res/xml/cherish_settings_theme.xml
index ab1fd7c..dfef2aa 100644
--- a/res/xml/cherish_settings_theme.xml
+++ b/res/xml/cherish_settings_theme.xml
@@ -60,12 +60,6 @@
android:fragment="com.android.settings.display.darkmode.DarkModeSettingsFragment"
settings:controller="com.android.settings.display.DarkUIPreferenceController" />
-
-
mPkgs;
-
- private ExecutorService mExecutor = Executors.newSingleThreadExecutor();
- private Handler mHandler = new Handler();
- private final AtomicBoolean mApplyingOverlays = new AtomicBoolean(false);
-
- Map overlayMap = new HashMap();
- {
- overlayMap.put("com.android.settings", "android.theme.customization.style.settings");
- overlayMap.put("com.android.systemui", "android.theme.customization.style.systemui");
- }
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- getActivity().setTitle(R.string.theme_customization_ui_style_title);
-
- mThemeUtils = new ThemeUtils(getActivity());
- mPkgs = mThemeUtils.getOverlayPackagesForCategory(mCategory, "android");
- Collections.sort(mPkgs);
- }
-
- @Override
- public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
- @Nullable Bundle savedInstanceState) {
- View view = inflater.inflate(
- R.layout.item_view, container, false);
-
- mRecyclerView = (RecyclerView) view.findViewById(R.id.recycler_view);
- GridLayoutManager gridLayoutManager = new GridLayoutManager(getActivity(), 1);
- mRecyclerView.setLayoutManager(gridLayoutManager);
- Adapter mAdapter = new Adapter(getActivity());
- mRecyclerView.setAdapter(mAdapter);
-
- return view;
- }
-
- @Override
- public int getMetricsCategory() {
- return MetricsEvent.CHERISH_SETTINGS;
- }
-
- @Override
- public void onResume() {
- super.onResume();
- }
-
- public class Adapter extends RecyclerView.Adapter {
- Context context;
- String mSelectedPkg;
- String mAppliedPkg;
-
- public Adapter(Context context) {
- this.context = context;
- }
-
- @Override
- public CustomViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
- View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.fonts_option, parent, false);
- CustomViewHolder vh = new CustomViewHolder(v);
- return vh;
- }
-
- @Override
- public void onBindViewHolder(CustomViewHolder holder, final int position) {
- String pkg = mPkgs.get(position);
- String label = getLabel(holder.itemView.getContext(), pkg);
-
- String currentPackageName = mThemeUtils.getOverlayInfos(mCategory).stream()
- .filter(info -> info.isEnabled())
- .map(info -> info.packageName)
- .findFirst()
- .orElse("android");
-
- holder.title.setText("android".equals(pkg) ? "Default" : label);
- holder.title.setTextSize(20);
- holder.title.setBackgroundColor(getStyleColor(holder.title.getContext(), pkg));
- holder.name.setVisibility(View.GONE);
-
- if (currentPackageName.equals(pkg)) {
- mAppliedPkg = pkg;
- if (mSelectedPkg == null) {
- mSelectedPkg = pkg;
- }
- }
-
- holder.itemView.setActivated(pkg == mSelectedPkg);
- holder.itemView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (mApplyingOverlays.get()) return;
- updateActivatedStatus(mSelectedPkg, false);
- updateActivatedStatus(pkg, true);
- mSelectedPkg = pkg;
- enableOverlays(position);
- }
- });
- }
-
- @Override
- public int getItemCount() {
- return mPkgs.size();
- }
-
- public class CustomViewHolder extends RecyclerView.ViewHolder {
- TextView name;
- TextView title;
- public CustomViewHolder(View itemView) {
- super(itemView);
- title = (TextView) itemView.findViewById(R.id.option_title);
- name = (TextView) itemView.findViewById(R.id.option_label);
- }
- }
-
- private void updateActivatedStatus(String pkg, boolean isActivated) {
- int index = mPkgs.indexOf(pkg);
- if (index < 0) {
- return;
- }
- RecyclerView.ViewHolder holder = mRecyclerView.findViewHolderForAdapterPosition(index);
- if (holder != null && holder.itemView != null) {
- holder.itemView.setActivated(isActivated);
- }
- }
- }
-
- public @ColorInt int getStyleColor(Context context, String pkg) {
- try {
- PackageManager pm = context.getPackageManager();
- Resources res = pkg.equals("android") ? Resources.getSystem()
- : pm.getResourcesForApplication(pkg);
- Configuration configuration = context.getResources().getConfiguration();
- boolean nightMode = (configuration.uiMode & Configuration.UI_MODE_NIGHT_MASK)
- == Configuration.UI_MODE_NIGHT_YES ? true : false;
- @ColorInt int styleColor = nightMode ? res.getColor(res.getIdentifier(
- "system_neutral1_900", "color", pkg), null) : res.getColor(
- res.getIdentifier(
- "system_neutral1_100", "color", pkg), null);
- return styleColor;
- }
- catch (PackageManager.NameNotFoundException | Resources.NotFoundException e) {
- e.printStackTrace();
- }
- return Color.TRANSPARENT;
- }
-
- public String getLabel(Context context, String pkg) {
- PackageManager pm = context.getPackageManager();
- try {
- return pm.getApplicationInfo(pkg, 0)
- .loadLabel(pm).toString();
- } catch (PackageManager.NameNotFoundException e) {
- e.printStackTrace();
- }
- return pkg;
- }
-
- public void enableOverlays(int position) {
- mApplyingOverlays.set(true);
- mExecutor.execute(() -> {
- mThemeUtils.setOverlayEnabled(mCategory, mPkgs.get(position));
- String pattern = "android".equals(mPkgs.get(position)) ? ""
- : mPkgs.get(position).split("\\.")[4];
- for (Map.Entry entry : overlayMap.entrySet()) {
- enableOverlay(entry.getValue(), entry.getKey(), pattern);
- }
- mHandler.post(() -> mApplyingOverlays.set(false));
- });
- }
-
- public void enableOverlay(String category, String target, String pattern) {
- if (pattern.isEmpty()) {
- mThemeUtils.setOverlayEnabled(category, "android");
- return;
- }
- for (String pkg: mThemeUtils.getOverlayPackagesForCategory(category, target)) {
- if (pkg.contains(pattern)) {
- mThemeUtils.setOverlayEnabled(category, pkg);
- }
- }
- }
-}