Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save Razziell/dc0109c141ecc69b1d4fb14ed0d7593c to your computer and use it in GitHub Desktop.
Save Razziell/dc0109c141ecc69b1d4fb14ed0d7593c to your computer and use it in GitHub Desktop.
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