OSDN Git Service

[QS] Update mobile tile secondary text
authorRohan Shah <shahrk@google.com>
Tue, 10 Apr 2018 04:34:50 +0000 (00:34 -0400)
committerRohan Shah <shahrk@google.com>
Wed, 11 Apr 2018 16:41:23 +0000 (12:41 -0400)
Since the mobile data string is required for the content description,
adding a new string for the short version and updating the footer impl
and icon setup logic to reference the content description instead.

Test: Manually, via string check in QS
Bug: 77693344
Change-Id: I794500bcd445f98d69c096f6bf2f3b7d147c2780

packages/SystemUI/res/values/strings.xml
packages/SystemUI/src/com/android/systemui/qs/QSFooterImpl.java
packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java
packages/SystemUI/src/com/android/systemui/statusbar/policy/TelephonyIcons.java

index da6ecc3..3363b7c 100644 (file)
     <string name="accessibility_cell_data_on">Mobile Data On</string>
 
     <!-- Content description of the cell data being disabled. [CHAR LIMIT=NONE] -->
-    <string name="cell_data_off">Mobile data off</string>
+    <string name="cell_data_off_content_description">Mobile data off</string>
+
+    <!-- Content description of the cell data being disabled but shortened. [CHAR LIMIT=20] -->
+    <string name="cell_data_off">Off</string>
 
     <!-- Content description of the bluetooth tethering icon for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
     <string name="accessibility_bluetooth_tether">Bluetooth tethering.</string>
index 0fa6597..3f218af 100644 (file)
@@ -393,7 +393,7 @@ public class QSFooterImpl extends FrameLayout implements QSFooter,
             if (TextUtils.equals(mInfo.typeContentDescription,
                     mContext.getString(R.string.data_connection_no_internet))
                 || TextUtils.equals(mInfo.typeContentDescription,
-                    mContext.getString(R.string.cell_data_off))) {
+                    mContext.getString(R.string.cell_data_off_content_description))) {
                 contentDescription.append(mInfo.typeContentDescription);
             }
             mMobileSignal.setContentDescription(contentDescription);
index 2abe9d9..4554c79 100644 (file)
@@ -194,7 +194,18 @@ public class CellularTile extends QSTileImpl<SignalState> {
             state.state = Tile.STATE_INACTIVE;
             state.secondaryLabel = r.getString(R.string.cell_data_off);
         }
-        state.contentDescription = state.label + ", " + state.secondaryLabel;
+
+
+        // TODO(b/77881974): Instead of switching out the description via a string check for
+        // we need to have two strings provided by the MobileIconGroup.
+        final CharSequence contentDescriptionSuffix;
+        if (state.state == Tile.STATE_INACTIVE) {
+            contentDescriptionSuffix = r.getString(R.string.cell_data_off_content_description);
+        } else {
+            contentDescriptionSuffix = state.secondaryLabel;
+        }
+
+        state.contentDescription = state.label + ", " + contentDescriptionSuffix;
     }
 
     private CharSequence getMobileDataDescription(CallbackInfo cb) {
index 7e6fe02..bd76820 100644 (file)
@@ -208,7 +208,7 @@ class TelephonyIcons {
             0,
             0,
             AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
-            R.string.cell_data_off,
+            R.string.cell_data_off_content_description,
             0,
             false);
 }