support vzw roaming default on

1. sms link handling by defaultcarrierapp under restricted NW
2. support launching defaultcarrierapp from carrier notification to
load captive portal page.
3. new carrier action to reset all actions
4. add a new app icon

Bug: 113114222
Test: manual test with cold SIM to trigger redirection signal
Change-Id: Ieb03244f222334068652e2fac8ee590082973670
This commit is contained in:
fionaxu
2017-07-19 11:11:54 -07:00
committed by chen xu
parent c769caafff
commit 79d77bb580
7 changed files with 44 additions and 20 deletions

View File

@@ -31,7 +31,8 @@
<application
android:label="@string/app_name"
android:directBootAware="true"
android:usesCleartextTraffic="true">
android:usesCleartextTraffic="true"
android:icon="@mipmap/ic_launcher_android">
<receiver android:name="com.android.carrierdefaultapp.CarrierDefaultBroadcastReceiver">
<intent-filter>
<action android:name="com.android.internal.telephony.CARRIER_SIGNAL_REDIRECTED" />
@@ -45,6 +46,7 @@
<activity
android:name="com.android.carrierdefaultapp.CaptivePortalLoginActivity"
android:label="@string/action_bar_label"
android:exported="true"
android:theme="@style/AppTheme"
android:configChanges="keyboardHidden|orientation|screenSize">
<intent-filter>

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@@ -196,19 +196,7 @@ public class CaptivePortalLoginActivity extends Activity {
if (success) {
// Trigger re-evaluation upon success http response code
CarrierActionUtils.applyCarrierAction(
CarrierActionUtils.CARRIER_ACTION_ENABLE_RADIO, getIntent(),
getApplicationContext());
CarrierActionUtils.applyCarrierAction(
CarrierActionUtils.CARRIER_ACTION_ENABLE_METERED_APNS, getIntent(),
getApplicationContext());
CarrierActionUtils.applyCarrierAction(
CarrierActionUtils.CARRIER_ACTION_CANCEL_ALL_NOTIFICATIONS, getIntent(),
getApplicationContext());
CarrierActionUtils.applyCarrierAction(
CarrierActionUtils.CARRIER_ACTION_DISABLE_DEFAULT_URL_HANDLER, getIntent(),
getApplicationContext());
CarrierActionUtils.applyCarrierAction(
CarrierActionUtils.CARRIER_ACTION_DEREGISTER_DEFAULT_NETWORK_AVAIL, getIntent(),
CarrierActionUtils.CARRIER_ACTION_RESET_ALL, getIntent(),
getApplicationContext());
}
finishAndRemoveTask();

View File

@@ -56,6 +56,7 @@ public class CarrierActionUtils {
public static final int CARRIER_ACTION_DISABLE_DEFAULT_URL_HANDLER = 8;
public static final int CARRIER_ACTION_REGISTER_DEFAULT_NETWORK_AVAIL = 9;
public static final int CARRIER_ACTION_DEREGISTER_DEFAULT_NETWORK_AVAIL = 10;
public static final int CARRIER_ACTION_RESET_ALL = 11;
public static void applyCarrierAction(int actionIdx, Intent intent, Context context) {
switch (actionIdx) {
@@ -92,6 +93,9 @@ public class CarrierActionUtils {
case CARRIER_ACTION_DEREGISTER_DEFAULT_NETWORK_AVAIL:
onDeregisterDefaultNetworkAvail(intent, context);
break;
case CARRIER_ACTION_RESET_ALL:
onResetAllCarrierActions(intent, context);
break;
default:
loge("unsupported carrier action index: " + actionIdx);
}
@@ -196,6 +200,14 @@ public class CarrierActionUtils {
context.getSystemService(NotificationManager.class).cancelAll();
}
private static void onResetAllCarrierActions(Intent intent, Context context) {
int subId = intent.getIntExtra(PhoneConstants.SUBSCRIPTION_KEY,
SubscriptionManager.getDefaultVoiceSubscriptionId());
logd("onResetAllCarrierActions subId: " + subId);
final TelephonyManager telephonyMgr = context.getSystemService(TelephonyManager.class);
telephonyMgr.carrierActionResetAll(subId);
}
private static Notification getNotification(Context context, int titleId, int textId,
PendingIntent pendingIntent) {
final TelephonyManager telephonyMgr = context.getSystemService(TelephonyManager.class);

View File

@@ -2307,12 +2307,9 @@ public class CarrierConfigManager {
//6: CARRIER_ACTION_CANCEL_ALL_NOTIFICATIONS
//8: CARRIER_ACTION_DISABLE_DEFAULT_URL_HANDLER
});
sDefaults.putStringArray(KEY_CARRIER_DEFAULT_ACTIONS_ON_DEFAULT_NETWORK_AVAILABLE,
new String[] {
String.valueOf(false) + ": 7",
//7: CARRIER_ACTION_ENABLE_DEFAULT_URL_HANDLER
String.valueOf(true) + ": 8"
//8: CARRIER_ACTION_DISABLE_DEFAULT_URL_HANDLER
sDefaults.putStringArray(KEY_CARRIER_DEFAULT_ACTIONS_ON_DEFAULT_NETWORK_AVAILABLE, new String[] {
String.valueOf(false) + ": 7", //7: CARRIER_ACTION_ENABLE_DEFAULT_URL_HANDLER
String.valueOf(true) + ": 8" //8: CARRIER_ACTION_DISABLE_DEFAULT_URL_HANDLER
});
sDefaults.putStringArray(KEY_CARRIER_DEFAULT_REDIRECTION_URL_STRING_ARRAY, null);

View File

@@ -7676,6 +7676,23 @@ public class TelephonyManager {
}
}
/**
* Action set from carrier signalling broadcast receivers to reset all carrier actions
* Permissions android.Manifest.permission.MODIFY_PHONE_STATE is required
* @param subId the subscription ID that this action applies to.
* @hide
*/
public void carrierActionResetAll(int subId) {
try {
ITelephony service = getITelephony();
if (service != null) {
service.carrierActionResetAll(subId);
}
} catch (RemoteException e) {
Log.e(TAG, "Error calling ITelephony#carrierActionResetAll", e);
}
}
/**
* Get aggregated video call data usage since boot.
* Permissions android.Manifest.permission.READ_NETWORK_USAGE_HISTORY is required.

View File

@@ -1414,6 +1414,14 @@ interface ITelephony {
*/
void carrierActionReportDefaultNetworkStatus(int subId, boolean report);
/**
* Action set from carrier signalling broadcast receivers to reset all carrier actions.
* Permissions android.Manifest.permission.MODIFY_PHONE_STATE is required
* @param subId the subscription ID that this action applies to.
* @hide
*/
void carrierActionResetAll(int subId);
/**
* Get aggregated video call data usage since boot.
* Permissions android.Manifest.permission.READ_NETWORK_USAGE_HISTORY is required.