From 3bc5948600639279dd6450c0e6026fd176622b9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C6=B0ng=20Phan?= Date: Sun, 19 Mar 2023 14:47:54 +0700 Subject: [PATCH] Revert "Cherish: Add support for UI Styles" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 7df8e095affd620a8c8701d258e00e6461562833. Signed-off-by: Hưng Phan --- res/values/cherish_strings.xml | 4 - res/xml/cherish_settings_theme.xml | 6 - .../settings/fragments/ui/UIStyles.java | 264 ------------------ 3 files changed, 274 deletions(-) delete mode 100644 src/com/cherish/settings/fragments/ui/UIStyles.java 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); - } - } - } -}