From d3ac239e32ee20158d06c33d89c67f5d56f23285 Mon Sep 17 00:00:00 2001 From: Jason Monk Date: Wed, 27 Jan 2016 13:54:35 -0500 Subject: [PATCH 1/2] Add wifi calling suggestion Change-Id: I737736d675fe0a4606ff1ccfd7d4ec6b69e1fd73 --- AndroidManifest.xml | 16 ++++++++++++++++ res/values/strings.xml | 2 ++ src/com/android/settings/Settings.java | 1 + .../settings/dashboard/SuggestionsChecks.java | 12 ++++++++++++ 4 files changed, 31 insertions(+) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 4ff16f95d29..14e5a0d203f 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -2638,6 +2638,22 @@ android:value="true" /> + + + + + + + + + + Wi-Fi calling + + Enable Wi-Fi Calling Calling preference diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java index 41412747b40..e20f93cc160 100644 --- a/src/com/android/settings/Settings.java +++ b/src/com/android/settings/Settings.java @@ -118,6 +118,7 @@ public class Settings extends SettingsActivity { public static class TopLevelSettings extends SettingsActivity { /* empty */ } public static class ApnSettingsActivity extends SettingsActivity { /* empty */ } public static class WifiCallingSettingsActivity extends SettingsActivity { /* empty */ } + public static class WifiCallingSuggestionActivity extends SettingsActivity { /* empty */ } public static class MemorySettingsActivity extends SettingsActivity { /* empty */ } public static class OverlaySettingsActivity extends SettingsActivity { /* empty */ } public static class WriteSettingsActivity extends SettingsActivity { /* empty */ } diff --git a/src/com/android/settings/dashboard/SuggestionsChecks.java b/src/com/android/settings/dashboard/SuggestionsChecks.java index b483ac7ed04..d9512b31b14 100644 --- a/src/com/android/settings/dashboard/SuggestionsChecks.java +++ b/src/com/android/settings/dashboard/SuggestionsChecks.java @@ -24,7 +24,9 @@ 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.WallpaperSuggestionActivity; +import com.android.settings.Settings.WifiCallingSuggestionActivity; import com.android.settings.Settings.ZenModeAutomationSuggestionActivity; import com.android.settingslib.drawer.Tile; @@ -47,10 +49,20 @@ public class SuggestionsChecks { return hasEnabledZenAutoRules(); } else if (className.equals(WallpaperSuggestionActivity.class.getName())) { return hasWallpaperSet(); + } else if (className.equals(WifiCallingSuggestionActivity.class.getName())) { + return isWifiCallingUnavailableOrEnabled(); } return false; } + public boolean isWifiCallingUnavailableOrEnabled() { + if (!ImsManager.isWfcEnabledByPlatform(mContext)) { + return true; + } + return ImsManager.isWfcEnabledByUser(mContext) + && ImsManager.isNonTtyOrTtyOnVolteEnabled(mContext); + } + private boolean hasEnabledZenAutoRules() { List zenRules = NotificationManager.from(mContext).getAutomaticZenRules(); final int N = zenRules.size(); From 9d5c050ce0cb29f6a49dd818e39a9c06ddd9ee19 Mon Sep 17 00:00:00 2001 From: Jason Monk Date: Wed, 27 Jan 2016 14:39:22 -0500 Subject: [PATCH 2/2] Add additional fingerprints suggestion Change-Id: Id18f3e9fffb1f9e964edb635689d3c7d410034fa --- AndroidManifest.xml | 16 ++++++++++++++++ res/values/strings.xml | 3 +++ src/com/android/settings/Settings.java | 6 ++++-- .../settings/dashboard/SuggestionsChecks.java | 9 +++++++++ 4 files changed, 32 insertions(+), 2 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 14e5a0d203f..311499ca68b 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1539,6 +1539,22 @@ android:windowSoftInputMode="stateHidden|adjustResize" android:theme="@style/Theme.ConfirmDeviceCredentials"/> + + + + + + + + + + diff --git a/res/values/strings.xml b/res/values/strings.xml index d169d0c00bb..1f971df2d6e 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -7011,4 +7011,7 @@ No default Home + + Additional Fingerprints + diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java index e20f93cc160..5d2468e5b8a 100644 --- a/src/com/android/settings/Settings.java +++ b/src/com/android/settings/Settings.java @@ -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 */ } @@ -118,7 +118,6 @@ public class Settings extends SettingsActivity { public static class TopLevelSettings extends SettingsActivity { /* empty */ } public static class ApnSettingsActivity extends SettingsActivity { /* empty */ } public static class WifiCallingSettingsActivity extends SettingsActivity { /* empty */ } - public static class WifiCallingSuggestionActivity extends SettingsActivity { /* empty */ } public static class MemorySettingsActivity extends SettingsActivity { /* empty */ } public static class OverlaySettingsActivity extends SettingsActivity { /* empty */ } public static class WriteSettingsActivity extends SettingsActivity { /* empty */ } @@ -126,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 */ } diff --git a/src/com/android/settings/dashboard/SuggestionsChecks.java b/src/com/android/settings/dashboard/SuggestionsChecks.java index d9512b31b14..fde7bc194b8 100644 --- a/src/com/android/settings/dashboard/SuggestionsChecks.java +++ b/src/com/android/settings/dashboard/SuggestionsChecks.java @@ -20,11 +20,13 @@ 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; @@ -51,10 +53,17 @@ public class SuggestionsChecks { 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;