Created
May 10, 2018 16:53
-
-
Save Razziell/dc0109c141ecc69b1d4fb14ed0d7593c to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
For packages_apps_crDroidSettings: | |
From b230a08dc8ee6d7130fcd0655f8ea270ab48aceb Mon Sep 17 00:00:00 2001 | |
From: Razziell <razziell@ya.ru> | |
Date: Thu, 19 Apr 2018 21:41:41 +0300 | |
Subject: [PATCH] Quick settings panel : Set transparency [2/2] | |
--- | |
res/values-ru/cr_strings.xml | 2 ++ | |
res/values-uk/cr_strings.xml | 2 ++ | |
res/values/cr_strings.xml | 3 +++ | |
res/xml/crdroid_settings_quicksettings.xml | 8 ++++++++ | |
src/com/crdroid/settings/fragments/QuickSettings.java | 16 ++++++++++++++++ | |
5 files changed, 31 insertions(+) | |
diff --git a/res/values-ru/cr_strings.xml b/res/values-ru/cr_strings.xml | |
index ef1ef06..509fa47 100644 | |
--- a/res/values-ru/cr_strings.xml | |
+++ b/res/values-ru/cr_strings.xml | |
@@ -1364,4 +1364,6 @@ | |
<string name="battery_percent_never">Не отображать</string> | |
<!-- Device Part --> | |
<string name="device_part_title">Настройки устройства</string> | |
+ <!-- QuickSettings Panel Transparency --> | |
+ <string name="qs_panel_alpha_title">Прозрачность</string> | |
</resources> | |
diff --git a/res/values-uk/cr_strings.xml b/res/values-uk/cr_strings.xml | |
index f8e8e64..378e137 100644 | |
--- a/res/values-uk/cr_strings.xml | |
+++ b/res/values-uk/cr_strings.xml | |
@@ -1364,4 +1364,6 @@ | |
<string name="battery_percent_never">Never display</string> | |
<!-- Device Part --> | |
<string name="device_part_title">Налаштування пристрою</string> | |
+ <!-- QuickSettings Panel Transparency --> | |
+ <string name="qs_panel_alpha_title">Прозорість</string> | |
</resources> | |
diff --git a/res/values/cr_strings.xml b/res/values/cr_strings.xml | |
index 4064498..166e474 100644 | |
--- a/res/values/cr_strings.xml | |
+++ b/res/values/cr_strings.xml | |
@@ -1599,5 +1599,8 @@ | |
<!-- Device Part --> | |
<string name="device_part_title">Device features</string> | |
+ | |
+ <!-- QuickSettings Panel Transparency --> | |
+ <string name="qs_panel_alpha_title">Transparency</string> | |
<!-- Force disable transition animation --> | |
diff --git a/res/xml/crdroid_settings_quicksettings.xml b/res/xml/crdroid_settings_quicksettings.xml | |
index aabee94..44afb5e 100644 | |
--- a/res/xml/crdroid_settings_quicksettings.xml | |
+++ b/res/xml/crdroid_settings_quicksettings.xml | |
@@ -154,6 +154,15 @@ | |
android:title="@string/qs_tile_title_visibility_title" | |
android:summary="@string/qs_tile_title_visibility_summary" | |
android:defaultValue="true" /> | |
+ | |
+ <com.crdroid.settings.preferences.CustomSeekBarPreference | |
+ android:key="qs_panel_alpha" | |
+ android:title="@string/qs_panel_alpha_title" | |
+ android:icon="@drawable/ic_invert_colors" | |
+ android:max="255" | |
+ settings:min="0" | |
+ settings:units="" | |
+ android:persistent="false" /> | |
</PreferenceCategory> | |
<!--<PreferenceCategory | |
diff --git a/src/com/crdroid/settings/fragments/QuickSettings.java b/src/com/crdroid/settings/fragments/QuickSettings.java | |
index f14e0cf..bb9ef6f 100644 | |
--- a/src/com/crdroid/settings/fragments/QuickSettings.java | |
+++ b/src/com/crdroid/settings/fragments/QuickSettings.java | |
@@ -44,6 +44,8 @@ import com.crdroid.settings.R; | |
import java.util.List; | |
import java.util.ArrayList; | |
+import com.crdroid.settings.preferences.CustomSeekBarPreference; | |
+ | |
import lineageos.providers.LineageSettings; | |
public class QuickSettings extends SettingsPreferenceFragment implements | |
@@ -62,6 +64,7 @@ public class QuickSettings extends SettingsPreferenceFragment implements | |
private static final String CUSTOM_HEADER_PROVIDER = "custom_header_provider"; | |
private static final String CUSTOM_HEADER_BROWSE = "custom_header_browse"; | |
private static final String FILE_HEADER_SELECT = "file_header_select"; | |
+ private static final String QS_PANEL_ALPHA = "qs_panel_alpha"; | |
private static final int REQUEST_PICK_IMAGE = 0; | |
@@ -69,6 +72,7 @@ public class QuickSettings extends SettingsPreferenceFragment implements | |
private CustomSeekBarPreference mRowsLandscape; | |
private CustomSeekBarPreference mQsColumnsPortrait; | |
private CustomSeekBarPreference mQsColumnsLandscape; | |
+ private CustomSeekBarPreference mQsPanelAlpha; | |
private SwitchPreference mHeaderEnabled; | |
private ListPreference mDaylightHeaderPack; | |
private CustomSeekBarPreference mHeaderShadow; | |
@@ -86,6 +90,12 @@ public class QuickSettings extends SettingsPreferenceFragment implements | |
ContentResolver resolver = getActivity().getContentResolver(); | |
+ mQsPanelAlpha = (CustomSeekBarPreference) findPreference(QS_PANEL_ALPHA); | |
+ int qsPanelAlpha = Settings.System.getIntForUser(resolver, | |
+ Settings.System.QS_PANEL_BG_ALPHA, 255, UserHandle.USER_CURRENT); | |
+ mQsPanelAlpha.setValue(qsPanelAlpha); | |
+ mQsPanelAlpha.setOnPreferenceChangeListener(this); | |
+ | |
mRowsPortrait = (CustomSeekBarPreference) findPreference(PREF_ROWS_PORTRAIT); | |
int rowsPortrait = Settings.System.getIntForUser(resolver, | |
Settings.System.QS_ROWS_PORTRAIT, 2, UserHandle.USER_CURRENT); | |
@@ -175,6 +185,12 @@ public class QuickSettings extends SettingsPreferenceFragment implements | |
Settings.System.putIntForUser(resolver, | |
Settings.System.QS_ROWS_PORTRAIT, value, UserHandle.USER_CURRENT); | |
return true; | |
+ } else if (preference == mQsPanelAlpha) { | |
+ int bgAlpha = (Integer) newValue; | |
+ Settings.System.putIntForUser(getContentResolver(), | |
+ Settings.System.QS_PANEL_BG_ALPHA, bgAlpha, | |
+ UserHandle.USER_CURRENT); | |
+ return true; | |
} else if (preference == mRowsLandscape) { | |
int value = (Integer) newValue; | |
Settings.System.putIntForUser(resolver, | |
-- | |
2.7.4 | |
For framework_base: | |
From 18a8499aecd90cf05d27f467aaf80104720f9707 Mon Sep 17 00:00:00 2001 | |
From: Razziell <razziell@ya.ru> | |
Date: Thu, 19 Apr 2018 21:56:40 +0300 | |
Subject: [PATCH] Quick settings panel : Set transparency [1/2] | |
--- | |
core/java/android/provider/Settings.java | 6 +++ | |
packages/SystemUI/res/color/qs_background_dark.xml | 3 +- | |
packages/SystemUI/res/layout/qs_panel.xml | 1 - | |
.../com/android/systemui/qs/QSContainerImpl.java | 45 ++++++++++++++++++++++ | |
4 files changed, 52 insertions(+), 3 deletions(-) | |
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java | |
index 7f45009..1d6fb09 100755 | |
--- a/core/java/android/provider/Settings.java | |
+++ b/core/java/android/provider/Settings.java | |
@@ -4812,6 +4812,12 @@ public final class Settings { | |
public static final String BERRY_DARK_SHADE = "berry_dark_shade"; | |
/** | |
+ * Whether to change the transparency of the qs panel | |
+ * @hide | |
+ */ | |
+ public static final String QS_PANEL_BG_ALPHA = "qs_panel_bg_alpha"; | |
+ | |
+ /** | |
* Check if using dark theme | |
* @hide | |
*/ | |
diff --git a/packages/SystemUI/res/color/qs_background_dark.xml b/packages/SystemUI/res/color/qs_background_dark.xml | |
index 5367f19..5abddf1 100644 | |
--- a/packages/SystemUI/res/color/qs_background_dark.xml | |
+++ b/packages/SystemUI/res/color/qs_background_dark.xml | |
@@ -15,6 +15,5 @@ | |
--> | |
<selector xmlns:android="http://schemas.android.com/apk/res/android"> | |
- <item android:alpha="@integer/qs_background_opacity" | |
- android:color="?android:attr/colorBackgroundFloating"/> | |
+ <item android:color="?android:attr/colorBackgroundFloating"/> | |
</selector> | |
diff --git a/packages/SystemUI/res/layout/qs_panel.xml b/packages/SystemUI/res/layout/qs_panel.xml | |
index 2ae5e84..edb6546 100644 | |
--- a/packages/SystemUI/res/layout/qs_panel.xml | |
+++ b/packages/SystemUI/res/layout/qs_panel.xml | |
@@ -18,7 +18,6 @@ | |
android:id="@+id/quick_settings_container" | |
android:layout_width="match_parent" | |
android:layout_height="wrap_content" | |
- android:background="@drawable/qs_background_primary" | |
android:elevation="4dp" | |
android:clipToPadding="false" | |
android:clipChildren="false"> | |
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSContainerImpl.java b/packages/SystemUI/src/com/android/systemui/qs/QSContainerImpl.java | |
index 33b5268..2887fff 100644 | |
--- a/packages/SystemUI/src/com/android/systemui/qs/QSContainerImpl.java | |
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSContainerImpl.java | |
@@ -17,7 +17,13 @@ | |
package com.android.systemui.qs; | |
import android.content.Context; | |
+import android.database.ContentObserver; | |
+import android.graphics.drawable.Drawable; | |
import android.graphics.Point; | |
+import android.net.Uri; | |
+import android.os.Handler; | |
+import android.os.UserHandle; | |
+import android.provider.Settings; | |
import android.util.AttributeSet; | |
import android.view.View; | |
import android.widget.FrameLayout; | |
@@ -40,9 +46,14 @@ public class QSContainerImpl extends FrameLayout { | |
private QSCustomizer mQSCustomizer; | |
private View mQSFooter; | |
private float mFullElevation; | |
+ private Drawable mQsBackGround; | |
+ private int mQsBackGroundAlpha; | |
public QSContainerImpl(Context context, AttributeSet attrs) { | |
super(context, attrs); | |
+ Handler mHandler = new Handler(); | |
+ SettingsObserver settingsObserver = new SettingsObserver(mHandler); | |
+ settingsObserver.observe(); | |
} | |
@Override | |
@@ -54,11 +65,45 @@ public class QSContainerImpl extends FrameLayout { | |
mQSCustomizer = findViewById(R.id.qs_customize); | |
mQSFooter = findViewById(R.id.qs_footer); | |
mFullElevation = mQSPanel.getElevation(); | |
+ mQsBackGround = getContext().getDrawable(R.drawable.qs_background_primary); | |
+ updateSettings(); | |
setClickable(true); | |
setImportantForAccessibility(IMPORTANT_FOR_ACCESSIBILITY_NO); | |
} | |
+ private class SettingsObserver extends ContentObserver { | |
+ SettingsObserver(Handler handler) { | |
+ super(handler); | |
+ } | |
+ | |
+ void observe() { | |
+ getContext().getContentResolver().registerContentObserver(Settings.System | |
+ .getUriFor(Settings.System.QS_PANEL_BG_ALPHA), false, | |
+ this, UserHandle.USER_ALL); | |
+ } | |
+ | |
+ @Override | |
+ public void onChange(boolean selfChange) { | |
+ updateSettings(); | |
+ } | |
+ } | |
+ | |
+ private void updateSettings() { | |
+ mQsBackGroundAlpha = Settings.System.getIntForUser(getContext().getContentResolver(), | |
+ Settings.System.QS_PANEL_BG_ALPHA, 255, | |
+ UserHandle.USER_CURRENT); | |
+ setQsBackgroundAlpha(); | |
+ } | |
+ | |
+ private void setQsBackgroundAlpha() { | |
+ if (mQsBackGround != null) { | |
+ mQsBackGround.setAlpha(mQsBackGroundAlpha); | |
+ setBackground(mQsBackGround); | |
+ } | |
+ } | |
+ | |
+ | |
@Override | |
public boolean performClick() { | |
// Want to receive clicks so missing QQS tiles doesn't cause collapse, but | |
-- | |
2.7.4 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment