<action android:name="com.android.settings.action.SETTINGS"/>
</intent-filter>
<meta-data android:name="com.android.settings.category"
- android:value="com.android.settings.category.ia.system"/>
+ android:value="com.android.settings.category.ia.system"/>
+ <meta-data android:name="com.android.settings.summary"
+ android:resource="@string/summary_empty"/>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
- android:value="com.android.settings.language.LanguageAndInputSettings"/>
+ android:value="com.android.settings.language.LanguageAndInputSettings"/>
<meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
- android:value="true"/>
+ android:value="true"/>
</activity>
<activity android:name="Settings$AvailableVirtualKeyboardActivity"
</intent-filter>
<meta-data android:name="com.android.settings.category"
android:value="com.android.settings.category.ia.system" />
+ <meta-data android:name="com.android.settings.summary"
+ android:resource="@string/summary_empty"/>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
android:value="com.android.settings.development.DevelopmentSettings" />
<meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
</intent-filter>
<meta-data android:name="com.android.settings.category"
android:value="com.android.settings.category.ia.accounts" />
+ <meta-data android:name="com.android.settings.summary"
+ android:resource="@string/summary_empty"/>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
android:value="com.android.settings.users.UserSettings" />
<meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
<category android:name="android.intent.category.DEFAULT" />
<category android:name="com.android.settings.SHORTCUT" />
</intent-filter>
+ <intent-filter android:priority="120">
+ <action android:name="com.android.settings.action.SETTINGS"/>
+ </intent-filter>
+ <meta-data android:name="com.android.settings.category"
+ android:value="com.android.settings.category.ia.apps"/>
+ <meta-data android:name="com.android.settings.summary"
+ android:resource="@string/summary_empty"/>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
android:value="com.android.settings.notification.ConfigureNotificationSettings" />
<meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
<activity android:name="Settings$AdvancedAppsActivity"
android:taskAffinity=""
- android:exported="true">
+ android:exported="true"
+ android:label="@string/app_default_dashboard_title"
+ android:icon="@drawable/ic_adb">
<intent-filter android:priority="1">
<action android:name="android.settings.MANAGE_DEFAULT_APPS_SETTINGS" />
<action android:name="android.settings.HOME_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
+ <intent-filter android:priority="130">
+ <action android:name="com.android.settings.action.SETTINGS"/>
+ </intent-filter>
+ <meta-data android:name="com.android.settings.category"
+ android:value="com.android.settings.category.ia.apps"/>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
android:value="com.android.settings.applications.AdvancedAppSettings" />
+ <meta-data android:name="com.android.settings.summary"
+ android:resource="@string/summary_empty"/>
<meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
- android:value="true" />
+ android:value="true" />
</activity>
<!-- Keep compatibility with old WebView-picker implementation -->
</intent-filter>
<meta-data android:name="com.android.settings.category"
android:value="com.android.settings.category.ia.system" />
+ <meta-data android:name="com.android.settings.summary"
+ android:resource="@string/summary_empty"/>
<meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
android:value="true" />
</activity>
android:resource="@string/support_summary"/>
</activity>
- <activity-alias android:name="ConfigureNotificationDashboardAlias"
- android:targetActivity="Settings$ConfigureNotificationSettingsActivity">
- <intent-filter android:priority="120">
- <action android:name="com.android.settings.action.SETTINGS"/>
- </intent-filter>
- <meta-data android:name="com.android.settings.category"
- android:value="com.android.settings.category.ia.apps"/>
- <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
- android:value="com.android.settings.notification.ConfigureNotificationSettings" />
- <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
- android:value="true" />
- </activity-alias>
-
- <activity-alias android:name="AppDefaultDashboardAlias"
- android:targetActivity="Settings$AdvancedAppsActivity"
- android:label="@string/app_default_dashboard_title"
- android:icon="@drawable/ic_adb">
- <intent-filter android:priority="130">
- <action android:name="com.android.settings.action.SETTINGS"/>
- </intent-filter>
- <meta-data android:name="com.android.settings.category"
- android:value="com.android.settings.category.ia.apps"/>
- <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
- android:value="com.android.settings.applications.AdvancedAppSettings" />
- <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
- android:value="true" />
- </activity-alias>
-
<!-- End of information architecture host activities -->
<service
<string name="display_settings_title">Display</string>
<!-- Sound settings screen heading -->
<string name="sound_settings">Sound</string>
- <!-- Sound settings screen, setting option summary text -->
- <string name="ringtone_summary"> </string>
+ <!-- DO NOT TRANSLATE Summary placeholder -->
+ <string name="summary_placeholder" translatable="false"> </string>
+ <!-- DO NOT TRANSLATE Empty summary for dynamic preferences -->
+ <string name="summary_empty" translatable="false"></string>
<!-- Sound settings screen, volume title -->
<string name="all_volume_title">Volumes</string>
<!-- Sound settings screen, music effects title [CHAR LIMIT=30]-->
android:fragment="com.android.settings.wifi.WifiSettings"
android:key="toggle_wifi"
android:title="@string/wifi_settings"
+ android:summary="@string/summary_placeholder"
android:icon="@drawable/ic_settings_wireless"
android:order="-30">
<intent
android:targetClass="Settings$WifiSettingsActivity"/>
</com.android.settings.widget.MasterSwitchPreference>
- <SwitchPreference
- android:key="toggle_airplane"
- android:title="@string/airplane_mode"
- android:icon="@drawable/ic_airplanemode_active"
- android:disableDependentsState="true"
- android:order="5"/>
-
<com.android.settingslib.RestrictedPreference
android:key="mobile_network_settings"
android:title="@string/network_settings_title"
android:title="@string/tether_settings_title_all"
android:icon="@drawable/ic_wifi_tethering"
android:order="-5"
+ android:summary="@string/summary_placeholder"
settings:userRestriction="no_config_tethering"
settings:useAdminDisabledSummary="true"/>
android:title="@string/vpn_settings_title"
android:icon="@drawable/ic_vpn_key"
android:order="0"
+ android:summary="@string/summary_placeholder"
settings:userRestriction="no_config_vpn"
settings:useAdminDisabledSummary="true"/>
settings:userRestriction="no_config_mobile_networks"
settings:useAdminDisabledSummary="true"/>
+ <SwitchPreference
+ android:key="toggle_airplane"
+ android:title="@string/airplane_mode"
+ android:icon="@drawable/ic_airplanemode_active"
+ android:disableDependentsState="true"
+ android:order="5"/>
+
<Preference
android:fragment="com.android.settings.ProxySelector"
android:key="proxy_settings"
android:key="ringtone"
android:title="@string/ringtone_title"
android:dialogTitle="@string/ringtone_title"
- android:summary="@string/ringtone_summary"
+ android:summary="@string/summary_placeholder"
android:ringtoneType="ringtone" />
<!-- Default notification ringtone -->
android:key="notification_ringtone"
android:title="@string/notification_ringtone_title"
android:dialogTitle="@string/notification_ringtone_title"
- android:summary="@string/ringtone_summary"
+ android:summary="@string/summary_placeholder"
android:ringtoneType="notification" />
<!-- Default alarm ringtone -->
android:key="alarm_ringtone"
android:title="@string/alarm_ringtone_title"
android:dialogTitle="@string/alarm_ringtone_title"
- android:summary="@string/ringtone_summary"
+ android:summary="@string/summary_placeholder"
android:persistent="false"
android:ringtoneType="alarm" />
import android.util.Log;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
+import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.overlay.FeatureFactory;
} else {
pref.setKey(getDashboardKeyForTile(tile));
}
- pref.setSummary(tile.summary);
+ if (tile.summary != null) {
+ pref.setSummary(tile.summary);
+ } else {
+ pref.setSummary(R.string.summary_placeholder);
+ }
if (tile.icon != null) {
pref.setIcon(tile.icon.loadDrawable(activity));
}
import android.support.v7.preference.Preference;
import com.android.internal.logging.nano.MetricsProto;
+import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
}
@Test
+ public void bindPreference_noSummary_shouldSetSummaryToPlaceholder() {
+ final Preference preference = new Preference(RuntimeEnvironment.application);
+ final Tile tile = new Tile();
+ tile.intent = new Intent();
+ tile.intent.setComponent(new ComponentName("pkg", "class"));
+ mImpl.bindPreferenceToTile(mActivity, MetricsProto.MetricsEvent.VIEW_UNKNOWN,
+ preference, tile, null /*key */, Preference.DEFAULT_ORDER);
+
+ assertThat(preference.getSummary())
+ .isEqualTo(RuntimeEnvironment.application.getString(R.string.summary_placeholder));
+ }
+
+ @Test
+ public void bindPreference_hasSummary_shouldSetSummary() {
+ final Preference preference = new Preference(RuntimeEnvironment.application);
+ final Tile tile = new Tile();
+ tile.summary = "test";
+ tile.intent = new Intent();
+ tile.intent.setComponent(new ComponentName("pkg", "class"));
+ mImpl.bindPreferenceToTile(mActivity, MetricsProto.MetricsEvent.VIEW_UNKNOWN,
+ preference, tile, null /*key */, Preference.DEFAULT_ORDER);
+
+ assertThat(preference.getSummary()).isEqualTo(tile.summary);
+ }
+
+ @Test
public void bindPreference_withNullKeyTileKey_shouldUseTileKey() {
final Preference preference = new Preference(RuntimeEnvironment.application);
final Tile tile = new Tile();