Merge "Add strings and carrier config needed network service."

This commit is contained in:
Treehugger Robot
2018-02-06 20:57:25 +00:00
committed by Gerrit Code Review
6 changed files with 45 additions and 2 deletions

View File

@@ -29,6 +29,7 @@ package android {
field public static final java.lang.String BIND_RESOLVER_RANKER_SERVICE = "android.permission.BIND_RESOLVER_RANKER_SERVICE";
field public static final java.lang.String BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE = "android.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE";
field public static final java.lang.String BIND_TELEPHONY_DATA_SERVICE = "android.permission.BIND_TELEPHONY_DATA_SERVICE";
field public static final java.lang.String BIND_TELEPHONY_NETWORK_SERVICE = "android.permission.BIND_TELEPHONY_NETWORK_SERVICE";
field public static final java.lang.String BIND_TRUST_AGENT = "android.permission.BIND_TRUST_AGENT";
field public static final java.lang.String BIND_TV_REMOTE_SERVICE = "android.permission.BIND_TV_REMOTE_SERVICE";
field public static final java.lang.String BLUETOOTH_PRIVILEGED = "android.permission.BLUETOOTH_PRIVILEGED";

View File

@@ -1765,6 +1765,15 @@
<permission android:name="android.permission.BIND_TELEPHONY_DATA_SERVICE"
android:protectionLevel="signature" />
<!-- Must be required by a NetworkService to ensure that only the
system can bind to it.
<p>Protection level: signature
@SystemApi
@hide
-->
<permission android:name="android.permission.BIND_TELEPHONY_NETWORK_SERVICE"
android:protectionLevel="signature" />
<!-- Allows an application to manage embedded subscriptions (those on a eUICC) through
EuiccManager APIs.
<p>Protection level: signature|privileged|development

View File

@@ -3122,4 +3122,11 @@
<bool name="config_display_no_service_when_sim_unready">false</bool>
<bool name="config_supportBluetoothPersistedState">true</bool>
<!-- Cellular network service package name to bind to by default. -->
<string name="config_wwan_network_service_package" translatable="false">com.android.phone</string>
<!-- IWLAN network service package name to bind to by default. If none is specified in an overlay, an
empty string is passed in -->
<string name="config_wlan_network_service_package" translatable="false"></string>
</resources>

View File

@@ -266,6 +266,8 @@
<java-symbol type="bool" name="config_dynamic_bind_ims" />
<java-symbol type="string" name="config_wwan_data_service_package" />
<java-symbol type="string" name="config_wlan_data_service_package" />
<java-symbol type="string" name="config_wwan_network_service_package" />
<java-symbol type="string" name="config_wlan_network_service_package" />
<java-symbol type="bool" name="config_networkSamplingWakesDevice" />
<java-symbol type="bool" name="config_showMenuShortcutsWhenKeyboardPresent" />
<java-symbol type="bool" name="config_sip_wifi_only" />

View File

@@ -1800,6 +1800,22 @@ public class CarrierConfigManager {
public static final String KEY_LTE_RSRP_THRESHOLDS_INT_ARRAY =
"lte_rsrp_thresholds_int_array";
/**
* Decides when clients try to bind to iwlan network service, which package name will
* the binding intent go to.
* @hide
*/
public static final String KEY_CARRIER_NETWORK_SERVICE_WLAN_PACKAGE_OVERRIDE_STRING
= "carrier_network_service_wlan_package_override_string";
/**
* Decides when clients try to bind to wwan (cellular) network service, which package name will
* the binding intent go to.
* @hide
*/
public static final String KEY_CARRIER_NETWORK_SERVICE_WWAN_PACKAGE_OVERRIDE_STRING
= "carrier_network_service_wwan_package_override_string";
/** The default value for every variable. */
private final static PersistableBundle sDefaults;
@@ -1839,6 +1855,8 @@ public class CarrierConfigManager {
sDefaults.putBoolean(KEY_CARRIER_USE_IMS_FIRST_FOR_EMERGENCY_BOOL, true);
sDefaults.putString(KEY_CARRIER_DATA_SERVICE_WWAN_PACKAGE_OVERRIDE_STRING, "");
sDefaults.putString(KEY_CARRIER_DATA_SERVICE_WLAN_PACKAGE_OVERRIDE_STRING, "");
sDefaults.putString(KEY_CARRIER_NETWORK_SERVICE_WWAN_PACKAGE_OVERRIDE_STRING, "");
sDefaults.putString(KEY_CARRIER_NETWORK_SERVICE_WLAN_PACKAGE_OVERRIDE_STRING, "");
sDefaults.putString(KEY_CARRIER_INSTANT_LETTERING_INVALID_CHARS_STRING, "");
sDefaults.putString(KEY_CARRIER_INSTANT_LETTERING_ESCAPED_CHARS_STRING, "");
sDefaults.putString(KEY_CARRIER_INSTANT_LETTERING_ENCODING_STRING, "");

View File

@@ -28,6 +28,8 @@ import android.os.Message;
import android.os.RemoteException;
import android.util.SparseArray;
import com.android.internal.annotations.VisibleForTesting;
import java.util.ArrayList;
import java.util.List;
@@ -38,7 +40,7 @@ import java.util.List;
* follow the following format:
* ...
* <service android:name=".xxxNetworkService"
* android:permission="android.permission.BIND_NETWORK_SERVICE" >
* android:permission="android.permission.BIND_TELEPHONY_NETWORK_SERVICE" >
* <intent-filter>
* <action android:name="android.telephony.NetworkService" />
* </intent-filter>
@@ -68,7 +70,11 @@ public abstract class NetworkService extends Service {
private final SparseArray<NetworkServiceProvider> mServiceMap = new SparseArray<>();
private final INetworkServiceWrapper mBinder = new INetworkServiceWrapper();
/**
* @hide
*/
@VisibleForTesting
public final INetworkServiceWrapper mBinder = new INetworkServiceWrapper();
/**
* The abstract class of the actual network service implementation. The network service provider