summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorStephen Bird <sbird@cyngn.com>2016-06-07 16:18:31 -0700
committerGerrit Code Review <gerrit@cyanogenmod.org>2016-06-08 17:38:56 -0700
commit52cab04f34c67b3e9e649fe1618a5161c90db1d2 (patch)
tree53acc67712bb9a31b1cf52dc57eb6aa9efdfc21c /src
parent6a2124a290adcafff813c7f8fb874b54ded8a120 (diff)
downloadandroid_packages_apps_Dialer-52cab04f34c67b3e9e649fe1618a5161c90db1d2.tar.gz
android_packages_apps_Dialer-52cab04f34c67b3e9e649fe1618a5161c90db1d2.tar.bz2
android_packages_apps_Dialer-52cab04f34c67b3e9e649fe1618a5161c90db1d2.zip
Nudges: Move roaming nudge logic to wifi listener
When the call ends, if the user was on wifi the entire time and was roaming then we will show the roaming text. Otherwise, this will count as a wifi nudge. Change-Id: Ic85a308d1860977fe4a62265fc293025ddb6a5a3 Ticket: CD-678
Diffstat (limited to 'src')
-rw-r--r--src/com/android/dialer/discovery/DiscoverySignalReceiver.java25
-rw-r--r--src/com/android/dialer/discovery/WifiCallStatusNudgeListener.java25
2 files changed, 20 insertions, 30 deletions
diff --git a/src/com/android/dialer/discovery/DiscoverySignalReceiver.java b/src/com/android/dialer/discovery/DiscoverySignalReceiver.java
index bd448fc4a..680426543 100644
--- a/src/com/android/dialer/discovery/DiscoverySignalReceiver.java
+++ b/src/com/android/dialer/discovery/DiscoverySignalReceiver.java
@@ -55,25 +55,6 @@ public class DiscoverySignalReceiver extends BroadcastReceiver {
}
switch (action) {
- case ConnectivityManager.CONNECTIVITY_ACTION:
- ConnectivityManager connManager = (ConnectivityManager)
- context.getSystemService(Context.CONNECTIVITY_SERVICE);
-
- NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
-
- TelephonyManager tm =
- (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
-
- if ((mWifi.isConnected() && tm.isNetworkRoaming()) || DEBUG_CONNECTIVITY) {
- SharedPreferences preferences = context
- .getSharedPreferences(DialtactsActivity.SHARED_PREFS_NAME,
- Context.MODE_PRIVATE);
- int currentCount = preferences.getInt(CallMethodUtils.PREF_ROAMING_CALLS, 0);
- preferences.edit().putInt(CallMethodUtils.PREF_ROAMING_CALLS,
- ++currentCount).apply();
- startServiceForConnectivityChanged(context);
- }
- break;
case Intent.ACTION_NEW_OUTGOING_CALL:
String phoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
SharedPreferences preferences = context
@@ -172,19 +153,19 @@ public class DiscoverySignalReceiver extends BroadcastReceiver {
return false;
}
- private void startServiceForInternationalCallMade(Context context) {
+ private static void startServiceForInternationalCallMade(Context context) {
Intent serviceIntent = getIntentForDiscoveryService(context);
serviceIntent.setAction(Intent.ACTION_NEW_OUTGOING_CALL);
context.startService(serviceIntent);
}
- private void startServiceForConnectivityChanged(Context context) {
+ public static void startServiceForConnectivityChanged(Context context) {
Intent serviceIntent = getIntentForDiscoveryService(context);
serviceIntent.setAction(ConnectivityManager.CONNECTIVITY_ACTION);
context.startService(serviceIntent);
}
- private Intent getIntentForDiscoveryService(Context context) {
+ private static Intent getIntentForDiscoveryService(Context context) {
return new Intent(context, DiscoveryService.class);
}
diff --git a/src/com/android/dialer/discovery/WifiCallStatusNudgeListener.java b/src/com/android/dialer/discovery/WifiCallStatusNudgeListener.java
index 9b57aa195..3990d27f4 100644
--- a/src/com/android/dialer/discovery/WifiCallStatusNudgeListener.java
+++ b/src/com/android/dialer/discovery/WifiCallStatusNudgeListener.java
@@ -34,6 +34,7 @@ public class WifiCallStatusNudgeListener {
private final static int PRECISE_CALL_STATE_DIALING = 2;
private static Context mContext;
+ private static TelephonyManager mTelephonyManager;
private static BroadcastReceiver mWifiListener = new BroadcastReceiver() {
@Override
@@ -114,9 +115,8 @@ public class WifiCallStatusNudgeListener {
mContext = c;
mReceiverRegistered.set(false);
- TelephonyManager telephony
- = (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
- telephony.listen(mPhoneStateListener, PhoneStateListener.LISTEN_PRECISE_CALL_STATE);
+ mTelephonyManager = (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
+ mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_PRECISE_CALL_STATE);
}
private static void startReceiver() {
@@ -143,11 +143,20 @@ public class WifiCallStatusNudgeListener {
SharedPreferences preferences = mContext
.getSharedPreferences(DialtactsActivity.SHARED_PREFS_NAME, Context.MODE_PRIVATE);
- int currentCount = preferences.getInt(CallMethodUtils.PREF_WIFI_CALL, 0);
- preferences.edit().putInt(CallMethodUtils.PREF_WIFI_CALL, ++currentCount).apply();
-
- new DiscoveryEventHandler(mContext).getNudgeProvidersWithKey(
- NudgeKey.NOTIFICATION_WIFI_CALL);
+ int currentCount;
+ // If the network is roaming and we are on wifi,
+ // then we want to show a potential roaming nudge instead of a wifi nudge.
+ if (mTelephonyManager.isNetworkRoaming()) {
+ currentCount = preferences.getInt(CallMethodUtils.PREF_ROAMING_CALLS, 0);
+ preferences.edit().putInt(CallMethodUtils.PREF_ROAMING_CALLS, ++currentCount).apply();
+ DiscoverySignalReceiver.startServiceForConnectivityChanged(mContext);
+ } else {
+ currentCount = preferences.getInt(CallMethodUtils.PREF_WIFI_CALL, 0);
+ preferences.edit().putInt(CallMethodUtils.PREF_WIFI_CALL, ++currentCount).apply();
+
+ new DiscoveryEventHandler(mContext).getNudgeProvidersWithKey(
+ NudgeKey.NOTIFICATION_WIFI_CALL);
+ }
}
private static void callOnWifiFailure() {