Merge changes Id18f3e9f,I737736d6

* changes:
  Add additional fingerprints suggestion
  Add wifi calling suggestion
This commit is contained in:
Jason Monk
2016-01-27 20:34:44 +00:00
committed by Android (Google) Code Review
4 changed files with 62 additions and 1 deletions

View File

@@ -1539,6 +1539,22 @@
android:windowSoftInputMode="stateHidden|adjustResize"
android:theme="@style/Theme.ConfirmDeviceCredentials"/>
<activity
android:name=".Settings$FingerprintSuggestionActivity"
android:label="@string/security_settings_fingerprint_preference_title"
android:icon="@drawable/ic_fingerprint">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="com.android.settings.suggested.category.SETTINGS_ONLY" />
</intent-filter>
<meta-data android:name="com.android.settings.dismiss"
android:value="10,30" />
<meta-data android:name="com.android.settings.require_feature"
android:value="android.hardware.fingerprint" />
<meta-data android:name="com.android.settings.title"
android:resource="@string/suggestion_additional_fingerprints" />
</activity>
<activity android:name=".fingerprint.FingerprintSettings" android:exported="false"/>
<activity android:name=".fingerprint.FingerprintEnrollFindSensor" android:exported="false"/>
<activity android:name=".fingerprint.FingerprintEnrollEnrolling" android:exported="false"/>
@@ -2666,6 +2682,22 @@
android:value="true" />
</activity>
<activity android:name="Settings$WifiCallingSuggestionActivity"
android:label="@string/wifi_calling_settings_title"
android:icon="@drawable/ic_settings_wireless"
android:taskAffinity="">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="com.android.settings.suggested.category.SETTINGS_ONLY" />
</intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
android:value="com.android.settings.WifiCallingSettings" />
<meta-data android:name="com.android.settings.dismiss"
android:value="10" />
<meta-data android:name="com.android.settings.title"
android:resource="@string/wifi_calling_suggestion_title" />
</activity>
<provider
android:name=".search.SettingsSearchIndexablesProvider"
android:authorities="com.android.settings"

View File

@@ -1899,6 +1899,8 @@
<!-- Wireless networks, item title to go into the WFC settings [CHAR LIMIT=30] -->
<string name="wifi_calling_settings_title">Wi-Fi calling</string>
<!-- Title of suggestion to turn on wifi calling [CHAR LIMIT=30] -->
<string name="wifi_calling_suggestion_title">Enable Wi-Fi Calling</string>
<!-- WFC mode [CHAR LIMIT=30] -->
<string name="wifi_calling_mode_title">Calling preference</string>
<!-- WFC mode dialog [CHAR LIMIT=30] -->
@@ -7016,4 +7018,7 @@
<!-- No default home set summary [CHAR LIMIT=NONE] -->
<string name="no_default_home">No default Home</string>
<!-- Title for suggestion adding more fingerprints [CHAR LIMIT=30] -->
<string name="suggestion_additional_fingerprints">Additional Fingerprints</string>
</resources>

View File

@@ -17,6 +17,7 @@
package com.android.settings;
import com.android.settings.applications.AppOpsSummary;
import com.android.settings.fingerprint.FingerprintSettings;
/**
* Top-level Settings activity
@@ -103,7 +104,6 @@ public class Settings extends SettingsActivity {
public static class ZenModeSettingsActivity extends SettingsActivity { /* empty */ }
public static class ZenModePrioritySettingsActivity extends SettingsActivity { /* empty */ }
public static class ZenModeAutomationSettingsActivity extends SettingsActivity { /* empty */ }
public static class ZenModeAutomationSuggestionActivity extends SettingsActivity { /* empty */ }
public static class ZenModeScheduleRuleSettingsActivity extends SettingsActivity { /* empty */ }
public static class ZenModeEventRuleSettingsActivity extends SettingsActivity { /* empty */ }
public static class ZenModeExternalRuleSettingsActivity extends SettingsActivity { /* empty */ }
@@ -125,7 +125,10 @@ public class Settings extends SettingsActivity {
public static class AppWriteSettingsActivity extends SettingsActivity { /* empty */ }
public static class ManageDefaultAppsActivity extends SettingsActivity { /* empty */ }
public static class WifiCallingSuggestionActivity extends SettingsActivity { /* empty */ }
public static class ZenModeAutomationSuggestionActivity extends SettingsActivity { /* empty */ }
public static class WallpaperSuggestionActivity extends SettingsActivity { /* empty */ }
public static class FingerprintSuggestionActivity extends FingerprintSettings { /* empty */ }
// Categories.
public static class WirelessSettings extends SettingsActivity { /* empty */ }

View File

@@ -20,11 +20,15 @@ import android.app.IWallpaperManager.Stub;
import android.app.IWallpaperManagerCallback;
import android.app.NotificationManager;
import android.content.Context;
import android.hardware.fingerprint.FingerprintManager;
import android.os.Bundle;
import android.os.IBinder;
import android.os.RemoteException;
import android.os.ServiceManager;
import com.android.ims.ImsManager;
import com.android.settings.Settings.FingerprintSuggestionActivity;
import com.android.settings.Settings.WallpaperSuggestionActivity;
import com.android.settings.Settings.WifiCallingSuggestionActivity;
import com.android.settings.Settings.ZenModeAutomationSuggestionActivity;
import com.android.settingslib.drawer.Tile;
@@ -47,10 +51,27 @@ public class SuggestionsChecks {
return hasEnabledZenAutoRules();
} else if (className.equals(WallpaperSuggestionActivity.class.getName())) {
return hasWallpaperSet();
} else if (className.equals(WifiCallingSuggestionActivity.class.getName())) {
return isWifiCallingUnavailableOrEnabled();
} else if (className.equals(FingerprintSuggestionActivity.class.getName())) {
return isNotSingleFingerprintEnrolled();
}
return false;
}
private boolean isNotSingleFingerprintEnrolled() {
FingerprintManager manager = mContext.getSystemService(FingerprintManager.class);
return manager == null || manager.getEnrolledFingerprints().size() != 1;
}
public boolean isWifiCallingUnavailableOrEnabled() {
if (!ImsManager.isWfcEnabledByPlatform(mContext)) {
return true;
}
return ImsManager.isWfcEnabledByUser(mContext)
&& ImsManager.isNonTtyOrTtyOnVolteEnabled(mContext);
}
private boolean hasEnabledZenAutoRules() {
List<AutomaticZenRule> zenRules = NotificationManager.from(mContext).getAutomaticZenRules();
final int N = zenRules.size();