OSDN Git Service

Add safety & regulatory info to "about device".
authorAndrew Sapperstein <asapperstein@google.com>
Tue, 31 May 2016 17:34:01 +0000 (10:34 -0700)
committerAndrew Sapperstein <asapperstein@google.com>
Thu, 2 Jun 2016 21:12:19 +0000 (14:12 -0700)
Renamed "Regulatory information" to "Regulatory labels"
and added a new option called "Safety & regulatory information".

The new option only shows if an activity exists that can
accept android.settings.SHOW_SAFETY_AND_REGULATORY_INFO intents.

BUG: 27876015
Change-Id: Iaf9588658eb7919b330ac8b3d673b8e81a4f76dc

AndroidManifest.xml
res/values/strings.xml
res/xml/device_info_settings.xml
src/com/android/settings/DeviceInfoSettings.java
src/com/android/settings/RegulatoryInfoDisplayActivity.java

index 6d990b7..f72aa8e 100644 (file)
 
         <!-- Show regulatory info (from settings item or dialing "*#07#") -->
         <activity android:name="RegulatoryInfoDisplayActivity"
-                  android:label="@string/regulatory_information"
+                  android:label="@string/regulatory_labels"
                   android:taskAffinity=""
                   android:enabled="@bool/config_show_regulatory_info">
             <intent-filter>
index 7c13146..06cc404 100644 (file)
     <string name="contributors_title">Contributors</string>
     <!-- About phone settings screen, setting option name to show Manual [CHAR LIMIT=25] -->
     <string name="manual">Manual</string>
-    <!-- About phone settings screen, setting option name to show regulatory information [CHAR LIMIT=25] -->
-    <string name="regulatory_information">Regulatory information</string>
+    <!-- About phone settings screen, setting option name to show regulatory labels [CHAR LIMIT=25] -->
+    <string name="regulatory_labels">Regulatory labels</string>
+    <!-- About phone settings screen, setting option name to show safety and regulatory information [CHAR LIMIT=40] -->
+    <string name="safety_and_regulatory_info">Safety &amp; regulatory information</string>
     <!-- Note: this may be replaced by a more-specific title of the activity that will get launched --> <skip />
     <!-- About phone settings screen, setting option name to see copyright-related info -->
     <string name="copyright_title">Copyright</string>
index e52712d..7ec8a4d 100644 (file)
 
         <PreferenceScreen
                 android:key="regulatory_info"
-                android:title="@string/regulatory_information">
+                android:title="@string/regulatory_labels">
             <intent android:action="android.settings.SHOW_REGULATORY_INFO" />
         </PreferenceScreen>
 
+        <PreferenceScreen
+                android:key="safety_info"
+                android:title="@string/safety_and_regulatory_info">
+                <intent android:action="android.settings.SHOW_SAFETY_AND_REGULATORY_INFO" />
+        </PreferenceScreen>
+
         <!-- Feedback on the device -->
         <PreferenceScreen android:key="device_feedback"
                 android:title="@string/device_feedback">
index ff7334b..19c4a3f 100644 (file)
@@ -175,14 +175,12 @@ public class DeviceInfoSettings extends SettingsPreferenceFragment implements In
         // Remove manual entry if none present.
         removePreferenceIfBoolFalse(KEY_MANUAL, R.bool.config_show_manual);
 
-        // Remove regulatory information if none present.
-        final Intent intent = new Intent(Settings.ACTION_SHOW_REGULATORY_INFO);
-        if (getPackageManager().queryIntentActivities(intent, 0).isEmpty()) {
-            Preference pref = findPreference(KEY_REGULATORY_INFO);
-            if (pref != null) {
-                getPreferenceScreen().removePreference(pref);
-            }
-        }
+        // Remove regulatory labels if no activity present to handle intent.
+        removePreferenceIfActivityMissing(
+                KEY_REGULATORY_INFO, Settings.ACTION_SHOW_REGULATORY_INFO);
+
+        removePreferenceIfActivityMissing(
+                "safety_info", "android.settings.SHOW_SAFETY_AND_REGULATORY_INFO");
     }
 
     @Override
@@ -327,6 +325,16 @@ public class DeviceInfoSettings extends SettingsPreferenceFragment implements In
         }
     }
 
+    private void removePreferenceIfActivityMissing(String preferenceKey, String action) {
+        final Intent intent = new Intent(action);
+        if (getPackageManager().queryIntentActivities(intent, 0).isEmpty()) {
+            Preference pref = findPreference(preferenceKey);
+            if (pref != null) {
+                getPreferenceScreen().removePreference(pref);
+            }
+        }
+    }
+
     private void removePreferenceIfBoolFalse(String preference, int resId) {
         if (!getResources().getBoolean(resId)) {
             Preference pref = findPreference(preference);
index c674f13..fd94b67 100644 (file)
@@ -56,7 +56,7 @@ public class RegulatoryInfoDisplayActivity extends Activity implements
         }
 
         AlertDialog.Builder builder = new AlertDialog.Builder(this)
-                .setTitle(R.string.regulatory_information)
+                .setTitle(R.string.regulatory_labels)
                 .setOnDismissListener(this);
 
         boolean regulatoryInfoDrawableExists = false;