Merge "app link handling under restricted mobile data" into oc-dr1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
93bf6200eb
@@ -28,4 +28,6 @@
|
|||||||
<backup-transport-whitelisted-service
|
<backup-transport-whitelisted-service
|
||||||
service="android/com.android.internal.backup.LocalTransportService" />
|
service="android/com.android.internal.backup.LocalTransportService" />
|
||||||
|
|
||||||
|
<!-- Whitelist of bundled applications which all handle URLs to their websites by default -->
|
||||||
|
<app-link package="com.android.carrierdefaultapp" />
|
||||||
</config>
|
</config>
|
||||||
|
|||||||
@@ -34,6 +34,7 @@
|
|||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="com.android.internal.telephony.CARRIER_SIGNAL_REDIRECTED" />
|
<action android:name="com.android.internal.telephony.CARRIER_SIGNAL_REDIRECTED" />
|
||||||
<action android:name="com.android.internal.telephony.CARRIER_SIGNAL_RESET" />
|
<action android:name="com.android.internal.telephony.CARRIER_SIGNAL_RESET" />
|
||||||
|
<action android:name="com.android.internal.telephony.CARRIER_SIGNAL_DEFAULT_NETWORK_AVAILABLE" />
|
||||||
<action android:name="android.intent.action.LOCALE_CHANGED" />
|
<action android:name="android.intent.action.LOCALE_CHANGED" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</receiver>
|
</receiver>
|
||||||
@@ -43,10 +44,24 @@
|
|||||||
android:name="com.android.carrierdefaultapp.CaptivePortalLoginActivity"
|
android:name="com.android.carrierdefaultapp.CaptivePortalLoginActivity"
|
||||||
android:label="@string/action_bar_label"
|
android:label="@string/action_bar_label"
|
||||||
android:theme="@style/AppTheme"
|
android:theme="@style/AppTheme"
|
||||||
android:configChanges="keyboardHidden|orientation|screenSize" >
|
android:configChanges="keyboardHidden|orientation|screenSize">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<category android:name="android.intent.category.DEFAULT"/>
|
<category android:name="android.intent.category.DEFAULT"/>
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
|
<activity-alias
|
||||||
|
android:name="com.android.carrierdefaultapp.URLHandlerActivity"
|
||||||
|
android:targetActivity="com.android.carrierdefaultapp.CaptivePortalLoginActivity"
|
||||||
|
android:enabled="false" >
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="android.intent.action.VIEW" />
|
||||||
|
<category android:name="android.intent.category.DEFAULT"/>
|
||||||
|
<category android:name="android.intent.category.BROWSABLE" />
|
||||||
|
<data android:scheme="http" />
|
||||||
|
<data android:scheme="https" />
|
||||||
|
<data android:host="*" />
|
||||||
|
</intent-filter>
|
||||||
|
</activity-alias>
|
||||||
</application>
|
</application>
|
||||||
</manifest>
|
</manifest>
|
||||||
|
|||||||
@@ -20,6 +20,9 @@ import android.app.Activity;
|
|||||||
import android.app.LoadedApk;
|
import android.app.LoadedApk;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.content.pm.ActivityInfo;
|
||||||
|
import android.content.pm.PackageInfo;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.net.ConnectivityManager;
|
import android.net.ConnectivityManager;
|
||||||
import android.net.ConnectivityManager.NetworkCallback;
|
import android.net.ConnectivityManager.NetworkCallback;
|
||||||
@@ -34,6 +37,7 @@ import android.os.Bundle;
|
|||||||
import android.telephony.CarrierConfigManager;
|
import android.telephony.CarrierConfigManager;
|
||||||
import android.telephony.Rlog;
|
import android.telephony.Rlog;
|
||||||
import android.telephony.SubscriptionManager;
|
import android.telephony.SubscriptionManager;
|
||||||
|
import android.text.TextUtils;
|
||||||
import android.util.ArrayMap;
|
import android.util.ArrayMap;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.util.TypedValue;
|
import android.util.TypedValue;
|
||||||
@@ -68,7 +72,7 @@ public class CaptivePortalLoginActivity extends Activity {
|
|||||||
private static final boolean DBG = true;
|
private static final boolean DBG = true;
|
||||||
|
|
||||||
private static final int SOCKET_TIMEOUT_MS = 10 * 1000;
|
private static final int SOCKET_TIMEOUT_MS = 10 * 1000;
|
||||||
public static final int NETWORK_REQUEST_TIMEOUT_MS = 5 * 1000;
|
private static final int NETWORK_REQUEST_TIMEOUT_MS = 5 * 1000;
|
||||||
|
|
||||||
private URL mUrl;
|
private URL mUrl;
|
||||||
private Network mNetwork;
|
private Network mNetwork;
|
||||||
@@ -188,16 +192,19 @@ public class CaptivePortalLoginActivity extends Activity {
|
|||||||
CarrierActionUtils.applyCarrierAction(
|
CarrierActionUtils.applyCarrierAction(
|
||||||
CarrierActionUtils.CARRIER_ACTION_CANCEL_ALL_NOTIFICATIONS, getIntent(),
|
CarrierActionUtils.CARRIER_ACTION_CANCEL_ALL_NOTIFICATIONS, getIntent(),
|
||||||
getApplicationContext());
|
getApplicationContext());
|
||||||
|
CarrierActionUtils.applyCarrierAction(
|
||||||
|
CarrierActionUtils.CARRIER_ACTION_DISABLE_DEFAULT_URL_HANDLER, getIntent(),
|
||||||
|
getApplicationContext());
|
||||||
|
CarrierActionUtils.applyCarrierAction(
|
||||||
|
CarrierActionUtils.CARRIER_ACTION_DEREGISTER_DEFAULT_NETWORK_AVAIL, getIntent(),
|
||||||
|
getApplicationContext());
|
||||||
}
|
}
|
||||||
finishAndRemoveTask();
|
finishAndRemoveTask();
|
||||||
}
|
}
|
||||||
|
|
||||||
private URL getUrlForCaptivePortal() {
|
private URL getUrlForCaptivePortal() {
|
||||||
String url = getIntent().getStringExtra(TelephonyIntents.EXTRA_REDIRECTION_URL_KEY);
|
String url = getIntent().getStringExtra(TelephonyIntents.EXTRA_REDIRECTION_URL_KEY);
|
||||||
if (url.isEmpty()) {
|
if (TextUtils.isEmpty(url)) url = mCm.getCaptivePortalServerUrl();
|
||||||
url = mCm.getCaptivePortalServerUrl();
|
|
||||||
}
|
|
||||||
final CarrierConfigManager configManager = getApplicationContext()
|
final CarrierConfigManager configManager = getApplicationContext()
|
||||||
.getSystemService(CarrierConfigManager.class);
|
.getSystemService(CarrierConfigManager.class);
|
||||||
final int subId = getIntent().getIntExtra(PhoneConstants.SUBSCRIPTION_KEY,
|
final int subId = getIntent().getIntExtra(PhoneConstants.SUBSCRIPTION_KEY,
|
||||||
@@ -437,6 +444,27 @@ public class CaptivePortalLoginActivity extends Activity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This alias presents the target activity, CaptivePortalLoginActivity, as a independent
|
||||||
|
* entity with its own intent filter to handle URL links. This alias will be enabled/disabled
|
||||||
|
* dynamically to handle url links based on the network conditions.
|
||||||
|
*/
|
||||||
|
public static String getAlias(Context context) {
|
||||||
|
try {
|
||||||
|
PackageInfo p = context.getPackageManager().getPackageInfo(context.getPackageName(),
|
||||||
|
PackageManager.GET_ACTIVITIES | PackageManager.MATCH_DISABLED_COMPONENTS);
|
||||||
|
for (ActivityInfo activityInfo : p.activities) {
|
||||||
|
String targetActivity = activityInfo.targetActivity;
|
||||||
|
if (CaptivePortalLoginActivity.class.getName().equals(targetActivity)) {
|
||||||
|
return activityInfo.name;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (PackageManager.NameNotFoundException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
private static void logd(String s) {
|
private static void logd(String s) {
|
||||||
Rlog.d(TAG, s);
|
Rlog.d(TAG, s);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,8 +19,10 @@ import android.app.Notification;
|
|||||||
import android.app.NotificationChannel;
|
import android.app.NotificationChannel;
|
||||||
import android.app.NotificationManager;
|
import android.app.NotificationManager;
|
||||||
import android.app.PendingIntent;
|
import android.app.PendingIntent;
|
||||||
|
import android.content.ComponentName;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.telephony.SubscriptionManager;
|
import android.telephony.SubscriptionManager;
|
||||||
@@ -49,6 +51,10 @@ public class CarrierActionUtils {
|
|||||||
public static final int CARRIER_ACTION_SHOW_PORTAL_NOTIFICATION = 4;
|
public static final int CARRIER_ACTION_SHOW_PORTAL_NOTIFICATION = 4;
|
||||||
public static final int CARRIER_ACTION_SHOW_NO_DATA_SERVICE_NOTIFICATION = 5;
|
public static final int CARRIER_ACTION_SHOW_NO_DATA_SERVICE_NOTIFICATION = 5;
|
||||||
public static final int CARRIER_ACTION_CANCEL_ALL_NOTIFICATIONS = 6;
|
public static final int CARRIER_ACTION_CANCEL_ALL_NOTIFICATIONS = 6;
|
||||||
|
public static final int CARRIER_ACTION_ENABLE_DEFAULT_URL_HANDLER = 7;
|
||||||
|
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 void applyCarrierAction(int actionIdx, Intent intent, Context context) {
|
public static void applyCarrierAction(int actionIdx, Intent intent, Context context) {
|
||||||
switch (actionIdx) {
|
switch (actionIdx) {
|
||||||
@@ -73,6 +79,18 @@ public class CarrierActionUtils {
|
|||||||
case CARRIER_ACTION_CANCEL_ALL_NOTIFICATIONS:
|
case CARRIER_ACTION_CANCEL_ALL_NOTIFICATIONS:
|
||||||
onCancelAllNotifications(context);
|
onCancelAllNotifications(context);
|
||||||
break;
|
break;
|
||||||
|
case CARRIER_ACTION_ENABLE_DEFAULT_URL_HANDLER:
|
||||||
|
onEnableDefaultURLHandler(context);
|
||||||
|
break;
|
||||||
|
case CARRIER_ACTION_DISABLE_DEFAULT_URL_HANDLER:
|
||||||
|
onDisableDefaultURLHandler(context);
|
||||||
|
break;
|
||||||
|
case CARRIER_ACTION_REGISTER_DEFAULT_NETWORK_AVAIL:
|
||||||
|
onRegisterDefaultNetworkAvail(intent, context);
|
||||||
|
break;
|
||||||
|
case CARRIER_ACTION_DEREGISTER_DEFAULT_NETWORK_AVAIL:
|
||||||
|
onDeregisterDefaultNetworkAvail(intent, context);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
loge("unsupported carrier action index: " + actionIdx);
|
loge("unsupported carrier action index: " + actionIdx);
|
||||||
}
|
}
|
||||||
@@ -94,6 +112,38 @@ public class CarrierActionUtils {
|
|||||||
telephonyMgr.carrierActionSetMeteredApnsEnabled(subId, ENABLE);
|
telephonyMgr.carrierActionSetMeteredApnsEnabled(subId, ENABLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void onEnableDefaultURLHandler(Context context) {
|
||||||
|
logd("onEnableDefaultURLHandler");
|
||||||
|
final PackageManager pm = context.getPackageManager();
|
||||||
|
pm.setComponentEnabledSetting(
|
||||||
|
new ComponentName(context, CaptivePortalLoginActivity.getAlias(context)),
|
||||||
|
PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void onDisableDefaultURLHandler(Context context) {
|
||||||
|
logd("onDisableDefaultURLHandler");
|
||||||
|
final PackageManager pm = context.getPackageManager();
|
||||||
|
pm.setComponentEnabledSetting(
|
||||||
|
new ComponentName(context, CaptivePortalLoginActivity.getAlias(context)),
|
||||||
|
PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void onRegisterDefaultNetworkAvail(Intent intent, Context context) {
|
||||||
|
int subId = intent.getIntExtra(PhoneConstants.SUBSCRIPTION_KEY,
|
||||||
|
SubscriptionManager.getDefaultVoiceSubscriptionId());
|
||||||
|
logd("onRegisterDefaultNetworkAvail subId: " + subId);
|
||||||
|
final TelephonyManager telephonyMgr = context.getSystemService(TelephonyManager.class);
|
||||||
|
telephonyMgr.carrierActionReportDefaultNetworkStatus(subId, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void onDeregisterDefaultNetworkAvail(Intent intent, Context context) {
|
||||||
|
int subId = intent.getIntExtra(PhoneConstants.SUBSCRIPTION_KEY,
|
||||||
|
SubscriptionManager.getDefaultVoiceSubscriptionId());
|
||||||
|
logd("onDeregisterDefaultNetworkAvail subId: " + subId);
|
||||||
|
final TelephonyManager telephonyMgr = context.getSystemService(TelephonyManager.class);
|
||||||
|
telephonyMgr.carrierActionReportDefaultNetworkStatus(subId, false);
|
||||||
|
}
|
||||||
|
|
||||||
private static void onDisableRadio(Intent intent, Context context) {
|
private static void onDisableRadio(Intent intent, Context context) {
|
||||||
int subId = intent.getIntExtra(PhoneConstants.SUBSCRIPTION_KEY,
|
int subId = intent.getIntExtra(PhoneConstants.SUBSCRIPTION_KEY,
|
||||||
SubscriptionManager.getDefaultVoiceSubscriptionId());
|
SubscriptionManager.getDefaultVoiceSubscriptionId());
|
||||||
|
|||||||
@@ -22,7 +22,6 @@ import android.telephony.CarrierConfigManager;
|
|||||||
import android.telephony.Rlog;
|
import android.telephony.Rlog;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.util.Pair;
|
|
||||||
|
|
||||||
import com.android.internal.telephony.TelephonyIntents;
|
import com.android.internal.telephony.TelephonyIntents;
|
||||||
import com.android.internal.util.ArrayUtils;
|
import com.android.internal.util.ArrayUtils;
|
||||||
@@ -95,6 +94,12 @@ public class CustomConfigLoader {
|
|||||||
configs = b.getStringArray(CarrierConfigManager
|
configs = b.getStringArray(CarrierConfigManager
|
||||||
.KEY_CARRIER_DEFAULT_ACTIONS_ON_RESET);
|
.KEY_CARRIER_DEFAULT_ACTIONS_ON_RESET);
|
||||||
break;
|
break;
|
||||||
|
case TelephonyIntents.ACTION_CARRIER_SIGNAL_DEFAULT_NETWORK_AVAILABLE:
|
||||||
|
configs = b.getStringArray(CarrierConfigManager
|
||||||
|
.KEY_CARRIER_DEFAULT_ACTIONS_ON_DEFAULT_NETWORK_AVAILABLE);
|
||||||
|
arg1 = String.valueOf(intent.getBooleanExtra(TelephonyIntents
|
||||||
|
.EXTRA_DEFAULT_NETWORK_AVAILABLE_KEY, false));
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
Rlog.e(TAG, "load carrier config failure with un-configured key: " +
|
Rlog.e(TAG, "load carrier config failure with un-configured key: " +
|
||||||
intent.getAction());
|
intent.getAction());
|
||||||
|
|||||||
@@ -1022,6 +1022,26 @@ public class CarrierConfigManager {
|
|||||||
*/
|
*/
|
||||||
public static final String KEY_CARRIER_DEFAULT_ACTIONS_ON_RESET =
|
public static final String KEY_CARRIER_DEFAULT_ACTIONS_ON_RESET =
|
||||||
"carrier_default_actions_on_reset_string_array";
|
"carrier_default_actions_on_reset_string_array";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Defines carrier-specific actions which act upon
|
||||||
|
* com.android.internal.telephony.CARRIER_SIGNAL_DEFAULT_NETWORK_AVAILABLE,
|
||||||
|
* used for customization of the default carrier app
|
||||||
|
* Format:
|
||||||
|
* {
|
||||||
|
* "true : CARRIER_ACTION_IDX_1",
|
||||||
|
* "false: CARRIER_ACTION_IDX_2"
|
||||||
|
* }
|
||||||
|
* Where {@code true} is a boolean indicates default network available/unavailable
|
||||||
|
* Where {@code CARRIER_ACTION_IDX} is an integer defined in
|
||||||
|
* {@link com.android.carrierdefaultapp.CarrierActionUtils CarrierActionUtils}
|
||||||
|
* Example:
|
||||||
|
* {@link com.android.carrierdefaultapp.CarrierActionUtils
|
||||||
|
* #CARRIER_ACTION_ENABLE_DEFAULT_URL_HANDLER enable the app as the default URL handler}
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
public static final String KEY_CARRIER_DEFAULT_ACTIONS_ON_DEFAULT_NETWORK_AVAILABLE =
|
||||||
|
"carrier_default_actions_on_default_network_available_string_array";
|
||||||
/**
|
/**
|
||||||
* Defines a list of acceptable redirection url for default carrier app
|
* Defines a list of acceptable redirection url for default carrier app
|
||||||
* @hides
|
* @hides
|
||||||
@@ -1684,9 +1704,10 @@ public class CarrierConfigManager {
|
|||||||
sDefaults.putString(KEY_CARRIER_SETUP_APP_STRING, "");
|
sDefaults.putString(KEY_CARRIER_SETUP_APP_STRING, "");
|
||||||
sDefaults.putStringArray(KEY_CARRIER_APP_WAKE_SIGNAL_CONFIG_STRING_ARRAY,
|
sDefaults.putStringArray(KEY_CARRIER_APP_WAKE_SIGNAL_CONFIG_STRING_ARRAY,
|
||||||
new String[]{
|
new String[]{
|
||||||
"com.android.carrierdefaultapp/.CarrierDefaultBroadcastReceiver:" +
|
"com.android.carrierdefaultapp/.CarrierDefaultBroadcastReceiver:"
|
||||||
"com.android.internal.telephony.CARRIER_SIGNAL_REDIRECTED," +
|
+ "com.android.internal.telephony.CARRIER_SIGNAL_REDIRECTED,"
|
||||||
"com.android.internal.telephony.CARRIER_SIGNAL_RESET"
|
+ "com.android.internal.telephony.CARRIER_SIGNAL_RESET,"
|
||||||
|
+ "com.android.internal.telephony.CARRIER_SIGNAL_DEFAULT_NETWORK_AVAILABLE"
|
||||||
});
|
});
|
||||||
sDefaults.putStringArray(KEY_CARRIER_APP_NO_WAKE_SIGNAL_CONFIG_STRING_ARRAY, null);
|
sDefaults.putStringArray(KEY_CARRIER_APP_NO_WAKE_SIGNAL_CONFIG_STRING_ARRAY, null);
|
||||||
|
|
||||||
@@ -1694,12 +1715,22 @@ public class CarrierConfigManager {
|
|||||||
// Default carrier app configurations
|
// Default carrier app configurations
|
||||||
sDefaults.putStringArray(KEY_CARRIER_DEFAULT_ACTIONS_ON_REDIRECTION_STRING_ARRAY,
|
sDefaults.putStringArray(KEY_CARRIER_DEFAULT_ACTIONS_ON_REDIRECTION_STRING_ARRAY,
|
||||||
new String[]{
|
new String[]{
|
||||||
"4, 1"
|
"9, 4, 1"
|
||||||
|
//9: CARRIER_ACTION_REGISTER_NETWORK_AVAIL
|
||||||
//4: CARRIER_ACTION_DISABLE_METERED_APNS
|
//4: CARRIER_ACTION_DISABLE_METERED_APNS
|
||||||
//1: CARRIER_ACTION_SHOW_PORTAL_NOTIFICATION
|
//1: CARRIER_ACTION_SHOW_PORTAL_NOTIFICATION
|
||||||
});
|
});
|
||||||
sDefaults.putStringArray(KEY_CARRIER_DEFAULT_ACTIONS_ON_RESET, new String[]{
|
sDefaults.putStringArray(KEY_CARRIER_DEFAULT_ACTIONS_ON_RESET, new String[]{
|
||||||
"6" //6: CARRIER_ACTION_CANCEL_ALL_NOTIFICATIONS
|
"6, 8"
|
||||||
|
//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_REDIRECTION_URL_STRING_ARRAY, null);
|
sDefaults.putStringArray(KEY_CARRIER_DEFAULT_REDIRECTION_URL_STRING_ARRAY, null);
|
||||||
|
|
||||||
|
|||||||
@@ -6660,6 +6660,25 @@ public class TelephonyManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Action set from carrier signalling broadcast receivers to start/stop reporting default
|
||||||
|
* network available events
|
||||||
|
* Permissions android.Manifest.permission.MODIFY_PHONE_STATE is required
|
||||||
|
* @param subId the subscription ID that this action applies to.
|
||||||
|
* @param report control start/stop reporting network status.
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
public void carrierActionReportDefaultNetworkStatus(int subId, boolean report) {
|
||||||
|
try {
|
||||||
|
ITelephony service = getITelephony();
|
||||||
|
if (service != null) {
|
||||||
|
service.carrierActionReportDefaultNetworkStatus(subId, report);
|
||||||
|
}
|
||||||
|
} catch (RemoteException e) {
|
||||||
|
Log.e(TAG, "Error calling ITelephony#carrierActionReportDefaultNetworkStatus", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get aggregated video call data usage since boot.
|
* Get aggregated video call data usage since boot.
|
||||||
* Permissions android.Manifest.permission.READ_NETWORK_USAGE_HISTORY is required.
|
* Permissions android.Manifest.permission.READ_NETWORK_USAGE_HISTORY is required.
|
||||||
|
|||||||
@@ -1302,6 +1302,16 @@ interface ITelephony {
|
|||||||
*/
|
*/
|
||||||
void carrierActionSetRadioEnabled(int subId, boolean enabled);
|
void carrierActionSetRadioEnabled(int subId, boolean enabled);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Action set from carrier signalling broadcast receivers to start/stop reporting default
|
||||||
|
* network conditions.
|
||||||
|
* Permissions android.Manifest.permission.MODIFY_PHONE_STATE is required
|
||||||
|
* @param subId the subscription ID that this action applies to.
|
||||||
|
* @param report control start/stop reporting default network events.
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
void carrierActionReportDefaultNetworkStatus(int subId, boolean report);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get aggregated video call data usage since boot.
|
* Get aggregated video call data usage since boot.
|
||||||
* Permissions android.Manifest.permission.READ_NETWORK_USAGE_HISTORY is required.
|
* Permissions android.Manifest.permission.READ_NETWORK_USAGE_HISTORY is required.
|
||||||
|
|||||||
@@ -446,6 +446,20 @@ public class TelephonyIntents {
|
|||||||
public static final String ACTION_CARRIER_SIGNAL_PCO_VALUE =
|
public static final String ACTION_CARRIER_SIGNAL_PCO_VALUE =
|
||||||
"com.android.internal.telephony.CARRIER_SIGNAL_PCO_VALUE";
|
"com.android.internal.telephony.CARRIER_SIGNAL_PCO_VALUE";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>Broadcast Action: when system default network available/unavailable with
|
||||||
|
* carrier-disabled mobile data. Intended for carrier apps to set/reset carrier actions when
|
||||||
|
* other network becomes system default network, Wi-Fi for example.
|
||||||
|
* The intent will have the following extra values:</p>
|
||||||
|
* <ul>
|
||||||
|
* <li>defaultNetworkAvailable</li><dd>A boolean indicates default network available.</dd>
|
||||||
|
* <li>subId</li><dd>Sub Id which associated the default data.</dd>
|
||||||
|
* </ul>
|
||||||
|
* <p class="note">This is a protected intent that can only be sent by the system. </p>
|
||||||
|
*/
|
||||||
|
public static final String ACTION_CARRIER_SIGNAL_DEFAULT_NETWORK_AVAILABLE =
|
||||||
|
"com.android.internal.telephony.CARRIER_SIGNAL_DEFAULT_NETWORK_AVAILABLE";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>Broadcast Action: when framework reset all carrier actions on sim load or absent.
|
* <p>Broadcast Action: when framework reset all carrier actions on sim load or absent.
|
||||||
* intended for carrier apps clean up (clear UI e.g.) and only sent to the specified carrier app
|
* intended for carrier apps clean up (clear UI e.g.) and only sent to the specified carrier app
|
||||||
@@ -465,7 +479,7 @@ public class TelephonyIntents {
|
|||||||
public static final String EXTRA_APN_PROTO_KEY = "apnProto";
|
public static final String EXTRA_APN_PROTO_KEY = "apnProto";
|
||||||
public static final String EXTRA_PCO_ID_KEY = "pcoId";
|
public static final String EXTRA_PCO_ID_KEY = "pcoId";
|
||||||
public static final String EXTRA_PCO_VALUE_KEY = "pcoValue";
|
public static final String EXTRA_PCO_VALUE_KEY = "pcoValue";
|
||||||
|
public static final String EXTRA_DEFAULT_NETWORK_AVAILABLE_KEY = "defaultNetworkAvailable";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Broadcast action to trigger CI OMA-DM Session.
|
* Broadcast action to trigger CI OMA-DM Session.
|
||||||
|
|||||||
Reference in New Issue
Block a user