diff --git a/packages/SystemUI/res/layout/ongoing_privacy_chip.xml b/packages/SystemUI/res/layout/ongoing_privacy_chip.xml
index 49c16bee7b1f7..dce9ce16e9cd3 100644
--- a/packages/SystemUI/res/layout/ongoing_privacy_chip.xml
+++ b/packages/SystemUI/res/layout/ongoing_privacy_chip.xml
@@ -21,8 +21,6 @@
android:id="@+id/privacy_chip"
android:layout_height="match_parent"
android:layout_width="wrap_content"
- android:layout_marginLeft="@dimen/ongoing_appops_chip_margin"
- android:layout_marginRight="@dimen/ongoing_appops_chip_margin"
android:layout_gravity="center_vertical|end"
android:gravity="center_vertical"
android:orientation="horizontal"
diff --git a/packages/SystemUI/res/layout/qs_carrier.xml b/packages/SystemUI/res/layout/qs_carrier.xml
index b94a3163804f4..8f748069aa400 100644
--- a/packages/SystemUI/res/layout/qs_carrier.xml
+++ b/packages/SystemUI/res/layout/qs_carrier.xml
@@ -19,6 +19,7 @@
android:id="@+id/linear_carrier"
android:layout_width="wrap_content"
android:layout_height="match_parent"
+ android:minWidth="48dp"
android:orientation="horizontal"
android:gravity="center_vertical|start"
android:background="@android:color/transparent"
diff --git a/packages/SystemUI/res/layout/quick_qs_status_icons.xml b/packages/SystemUI/res/layout/quick_qs_status_icons.xml
index 29f53a47a14eb..79e2dfb2a40dc 100644
--- a/packages/SystemUI/res/layout/quick_qs_status_icons.xml
+++ b/packages/SystemUI/res/layout/quick_qs_status_icons.xml
@@ -21,8 +21,8 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/qs_header_top_margin"
android:layout_marginBottom="14dp"
- android:layout_marginStart="@dimen/status_bar_padding_start"
- android:layout_marginEnd="@dimen/status_bar_padding_end"
+ android:paddingStart="@dimen/status_bar_padding_start"
+ android:paddingEnd="@dimen/status_bar_padding_end"
android:layout_below="@id/quick_status_bar_system_icons"
android:clipChildren="false"
android:clipToPadding="false"
diff --git a/packages/SystemUI/res/layout/quick_settings_header_info.xml b/packages/SystemUI/res/layout/quick_settings_header_info.xml
index da640fd1e164d..37c6d9f2d973c 100644
--- a/packages/SystemUI/res/layout/quick_settings_header_info.xml
+++ b/packages/SystemUI/res/layout/quick_settings_header_info.xml
@@ -19,7 +19,6 @@
android:layout_width="match_parent"
android:layout_height="@dimen/qs_header_tooltip_height"
android:layout_below="@id/quick_status_bar_system_icons"
- android:layout_marginTop="@dimen/qs_header_top_margin"
android:paddingStart="@dimen/status_bar_padding_start"
android:paddingEnd="@dimen/status_bar_padding_end">
@@ -27,7 +26,7 @@
android:id="@+id/long_press_tooltip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_gravity="start|bottom"
+ android:layout_gravity="start|center_vertical"
android:alpha="0"
android:text="@string/quick_settings_header_onboarding_text"
android:textAppearance="@style/TextAppearance.QS.TileLabel"
@@ -36,34 +35,48 @@
+ android:alpha="0" >
-
-
-
+ android:layout_height="match_parent"
+ android:layout_gravity="center_vertical"
+ android:gravity="center_vertical"
+ android:focusable="true"
+ android:clickable="true">
+
+
+
+
+
-
-
-
+ android:layout_height="match_parent"
+ android:layout_gravity="center_vertical"
+ android:gravity="center_vertical"
+ android:focusable="true"
+ android:clickable="true">
+
+
+
+
+
+
+ android:layout_height="match_parent"
+ android:layout_gravity="end|center_vertical"
+ android:focusable="false"/>
diff --git a/packages/SystemUI/res/values-land/dimens.xml b/packages/SystemUI/res/values-land/dimens.xml
index e7689399f5071..90e78e85ed19e 100644
--- a/packages/SystemUI/res/values-land/dimens.xml
+++ b/packages/SystemUI/res/values-land/dimens.xml
@@ -24,8 +24,8 @@
40dp
- 2dp
- 24dp
+ 8dp
+ 0dp
9dp
9dp
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index 5d8b9e662c510..7d76160f82423 100644
--- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml
@@ -437,7 +437,7 @@
16dp
4dp
0dp
- 30dp
+ @dimen/qs_header_tooltip_height
56dp
0dp
56dp
@@ -461,8 +461,8 @@
32dp
0dp
20dp
- 18dp
- 18dp
+ 48dp
+ @dimen/status_bar_icon_drawing_size
@dimen/status_bar_icon_drawing_size
6dp
8dp
@@ -473,7 +473,7 @@
16dp
16dp
0dp
- 12dp
+ 15dp
64dp
@@ -1031,8 +1031,6 @@
20sp
16sp
-
- 0dp
32dp
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSCarrierGroup.java b/packages/SystemUI/src/com/android/systemui/qs/QSCarrierGroup.java
index 7de8b74f30cc9..e352b58ea552a 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSCarrierGroup.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSCarrierGroup.java
@@ -19,6 +19,8 @@ package com.android.systemui.qs;
import static com.android.systemui.util.InjectionInflationController.VIEW_CONTEXT;
import android.content.Context;
+import android.content.Intent;
+import android.provider.Settings;
import android.telephony.SubscriptionManager;
import android.util.AttributeSet;
import android.util.Log;
@@ -30,6 +32,7 @@ import androidx.annotation.VisibleForTesting;
import com.android.keyguard.CarrierTextController;
import com.android.systemui.Dependency;
import com.android.systemui.R;
+import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.statusbar.policy.NetworkController;
import javax.inject.Inject;
@@ -40,7 +43,7 @@ import javax.inject.Named;
*/
public class QSCarrierGroup extends LinearLayout implements
CarrierTextController.CarrierTextCallback,
- NetworkController.SignalCallback {
+ NetworkController.SignalCallback, View.OnClickListener {
private static final String TAG = "QSCarrierGroup";
/**
@@ -53,20 +56,29 @@ public class QSCarrierGroup extends LinearLayout implements
private QSCarrier[] mCarrierGroups = new QSCarrier[SIM_SLOTS];
private final CellSignalState[] mInfos = new CellSignalState[SIM_SLOTS];
private CarrierTextController mCarrierTextController;
+ private ActivityStarter mActivityStarter;
private boolean mListening;
@Inject
public QSCarrierGroup(@Named(VIEW_CONTEXT) Context context, AttributeSet attrs,
- NetworkController networkController) {
+ NetworkController networkController, ActivityStarter activityStarter) {
super(context, attrs);
mNetworkController = networkController;
+ mActivityStarter = activityStarter;
}
@VisibleForTesting
public QSCarrierGroup(Context context, AttributeSet attrs) {
this(context, attrs,
- Dependency.get(NetworkController.class));
+ Dependency.get(NetworkController.class),
+ Dependency.get(ActivityStarter.class));
+ }
+
+ @Override
+ public void onClick(View v) {
+ mActivityStarter.postStartActivityDismissingKeyguard(new Intent(
+ Settings.ACTION_WIRELESS_SETTINGS), 0);
}
@Override
@@ -82,6 +94,7 @@ public class QSCarrierGroup extends LinearLayout implements
for (int i = 0; i < SIM_SLOTS; i++) {
mInfos[i] = new CellSignalState();
+ mCarrierGroups[i].setOnClickListener(this);
}
CharSequence separator = mContext.getString(
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
index ddefdf6461599..fcaf98165016b 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
@@ -300,6 +300,7 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne
protected void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
mFooter.onConfigurationChanged();
+ updateResources();
updateBrightnessMirror();
}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
index d78982183db9f..2e3065aeee039 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
@@ -35,6 +35,7 @@ import android.media.AudioManager;
import android.os.Handler;
import android.os.Looper;
import android.provider.AlarmClock;
+import android.provider.Settings;
import android.service.notification.ZenModeConfig;
import android.text.format.DateUtils;
import android.util.AttributeSet;
@@ -133,9 +134,11 @@ public class QuickStatusBarHeader extends RelativeLayout implements
private ImageView mNextAlarmIcon;
/** {@link TextView} containing the actual text indicating when the next alarm will go off. */
private TextView mNextAlarmTextView;
+ private View mNextAlarmContainer;
private View mStatusSeparator;
private ImageView mRingerModeIcon;
private TextView mRingerModeTextView;
+ private View mRingerContainer;
private Clock mClockView;
private DateView mDateView;
private OngoingPrivacyChip mPrivacyChip;
@@ -203,10 +206,14 @@ public class QuickStatusBarHeader extends RelativeLayout implements
mStatusSeparator = findViewById(R.id.status_separator);
mNextAlarmIcon = findViewById(R.id.next_alarm_icon);
mNextAlarmTextView = findViewById(R.id.next_alarm_text);
+ mNextAlarmContainer = findViewById(R.id.alarm_container);
+ mNextAlarmContainer.setOnClickListener(this::onClick);
mRingerModeIcon = findViewById(R.id.ringer_mode_icon);
mRingerModeTextView = findViewById(R.id.ringer_mode_text);
+ mRingerContainer = findViewById(R.id.ringer_container);
+ mRingerContainer.setOnClickListener(this::onClick);
mPrivacyChip = findViewById(R.id.privacy_chip);
- mPrivacyChip.setOnClickListener(this);
+ mPrivacyChip.setOnClickListener(this::onClick);
mCarrierGroup = findViewById(R.id.carrier_group);
@@ -236,6 +243,8 @@ public class QuickStatusBarHeader extends RelativeLayout implements
// QS will always show the estimate, and BatteryMeterView handles the case where
// it's unavailable or charging
mBatteryRemainingIcon.setPercentShowMode(BatteryMeterView.MODE_ESTIMATE);
+ mRingerModeTextView.setSelected(true);
+ mNextAlarmTextView.setSelected(true);
}
private List getIgnoredIconSlots() {
@@ -285,11 +294,11 @@ public class QuickStatusBarHeader extends RelativeLayout implements
if (!ZenModeConfig.isZenOverridingRinger(mZenController.getZen(),
mZenController.getConsolidatedPolicy())) {
if (mRingerMode == AudioManager.RINGER_MODE_VIBRATE) {
- mRingerModeIcon.setImageResource(R.drawable.stat_sys_ringer_vibrate);
+ mRingerModeIcon.setImageResource(R.drawable.ic_volume_ringer_vibrate);
mRingerModeTextView.setText(R.string.qs_status_phone_vibrate);
ringerVisible = true;
} else if (mRingerMode == AudioManager.RINGER_MODE_SILENT) {
- mRingerModeIcon.setImageResource(R.drawable.stat_sys_ringer_silent);
+ mRingerModeIcon.setImageResource(R.drawable.ic_volume_ringer_mute);
mRingerModeTextView.setText(R.string.qs_status_phone_muted);
ringerVisible = true;
}
@@ -546,7 +555,7 @@ public class QuickStatusBarHeader extends RelativeLayout implements
@Override
public void onClick(View v) {
- if (v == mClockView) {
+ if (v == mClockView || v == mNextAlarmContainer) {
mActivityStarter.postStartActivityDismissingKeyguard(new Intent(
AlarmClock.ACTION_SHOW_ALARMS),0);
} else if (v == mPrivacyChip) {
@@ -561,6 +570,9 @@ public class QuickStatusBarHeader extends RelativeLayout implements
new Intent(Intent.ACTION_REVIEW_ONGOING_PERMISSION_USAGE), 0);
mHost.collapsePanels();
});
+ } else if (v == mRingerContainer) {
+ mActivityStarter.postStartActivityDismissingKeyguard(new Intent(
+ Settings.ACTION_SOUND_SETTINGS), 0);
}
}
@@ -573,7 +585,6 @@ public class QuickStatusBarHeader extends RelativeLayout implements
@Override
public void onZenChanged(int zen) {
updateStatusText();
-
}
@Override
@@ -731,8 +742,10 @@ public class QuickStatusBarHeader extends RelativeLayout implements
public void setMargins(int sideMargins) {
for (int i = 0; i < getChildCount(); i++) {
View v = getChildAt(i);
+ // Prevents these views from getting set a margin.
+ // The Icon views all have the same padding set in XML to be aligned.
if (v == mSystemIconsView || v == mQuickQsStatusIcons || v == mHeaderQsPanel
- || v == mPrivacyChip) {
+ || v == mHeaderTextContainerView) {
continue;
}
RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) v.getLayoutParams();