Loading src/java/com/android/internal/telephony/SubscriptionController.java +18 −26 Original line number Diff line number Diff line Loading @@ -941,9 +941,8 @@ public class SubscriptionController extends ISub.Stub { } if (value.size() > 0) { resolver.update(SubscriptionManager.CONTENT_URI, value, SubscriptionManager.UNIQUE_KEY_SUBSCRIPTION_ID + "=" + Long.toString(subId), null); resolver.update(SubscriptionManager.getUriForSubscriptionId(subId), value, null, null); // Refresh the Cache of Active Subscription Info List refreshCachedActiveSubscriptionInfoList(); Loading Loading @@ -1036,9 +1035,8 @@ public class SubscriptionController extends ISub.Stub { ContentValues value = new ContentValues(); value.put(SubscriptionManager.DISPLAY_NAME, nameToSet); resolver.update(SubscriptionManager.CONTENT_URI, value, SubscriptionManager.UNIQUE_KEY_SUBSCRIPTION_ID + "=" + Long.toString(subId), null); resolver.update(SubscriptionManager.getUriForSubscriptionId(subId), value, null, null); // Refresh the Cache of Active Subscription Info List refreshCachedActiveSubscriptionInfoList(); Loading Loading @@ -1155,9 +1153,8 @@ public class SubscriptionController extends ISub.Stub { ContentValues value = new ContentValues(1); value.put(SubscriptionManager.CARRIER_NAME, text); int result = mContext.getContentResolver().update(SubscriptionManager.CONTENT_URI, value, SubscriptionManager.UNIQUE_KEY_SUBSCRIPTION_ID + "=" + Long.toString(subId), null); int result = mContext.getContentResolver().update( SubscriptionManager.getUriForSubscriptionId(subId), value, null, null); // Refresh the Cache of Active Subscription Info List refreshCachedActiveSubscriptionInfoList(); Loading Loading @@ -1190,9 +1187,8 @@ public class SubscriptionController extends ISub.Stub { value.put(SubscriptionManager.COLOR, tint); if (DBG) logd("[setIconTint]- tint:" + tint + " set"); int result = mContext.getContentResolver().update(SubscriptionManager.CONTENT_URI, value, SubscriptionManager.UNIQUE_KEY_SUBSCRIPTION_ID + "=" + Long.toString(subId), null); int result = mContext.getContentResolver().update( SubscriptionManager.getUriForSubscriptionId(subId), value, null, null); // Refresh the Cache of Active Subscription Info List refreshCachedActiveSubscriptionInfoList(); Loading Loading @@ -1254,9 +1250,8 @@ public class SubscriptionController extends ISub.Stub { // to the eSIM itself. Currently it will be blown away the next time the subscription // list is updated. int result = mContext.getContentResolver().update(SubscriptionManager.CONTENT_URI, value, SubscriptionManager.UNIQUE_KEY_SUBSCRIPTION_ID + "=" + Long.toString(subId), null); int result = mContext.getContentResolver().update( SubscriptionManager.getUriForSubscriptionId(subId), value, null, null); // Refresh the Cache of Active Subscription Info List refreshCachedActiveSubscriptionInfoList(); Loading Loading @@ -1300,9 +1295,8 @@ public class SubscriptionController extends ISub.Stub { // that was removed as there doesn't seem to be a reason for that. If it is added // back, watch out for deadlocks. result = mContext.getContentResolver().update(SubscriptionManager.CONTENT_URI, value, SubscriptionManager.UNIQUE_KEY_SUBSCRIPTION_ID + "=" + Long.toString(subId), null); result = mContext.getContentResolver().update( SubscriptionManager.getUriForSubscriptionId(subId), value, null, null); // Refresh the Cache of Active Subscription Info List refreshCachedActiveSubscriptionInfoList(); Loading Loading @@ -1340,9 +1334,8 @@ public class SubscriptionController extends ISub.Stub { value.put(SubscriptionManager.DATA_ROAMING, roaming); if (DBG) logd("[setDataRoaming]- roaming:" + roaming + " set"); int result = mContext.getContentResolver().update(SubscriptionManager.CONTENT_URI, value, SubscriptionManager.UNIQUE_KEY_SUBSCRIPTION_ID + "=" + Long.toString(subId), null); int result = mContext.getContentResolver().update( SubscriptionManager.getUriForSubscriptionId(subId), value, null, null); // Refresh the Cache of Active Subscription Info List refreshCachedActiveSubscriptionInfoList(); Loading Loading @@ -1379,8 +1372,8 @@ public class SubscriptionController extends ISub.Stub { value.put(SubscriptionManager.MCC_STRING, mccString); value.put(SubscriptionManager.MNC_STRING, mncString); int result = mContext.getContentResolver().update(SubscriptionManager.CONTENT_URI, value, SubscriptionManager.UNIQUE_KEY_SUBSCRIPTION_ID + "=" + Long.toString(subId), null); int result = mContext.getContentResolver().update( SubscriptionManager.getUriForSubscriptionId(subId), value, null, null); // Refresh the Cache of Active Subscription Info List refreshCachedActiveSubscriptionInfoList(); Loading Loading @@ -2066,9 +2059,8 @@ public class SubscriptionController extends ISub.Stub { break; } return resolver.update(SubscriptionManager.CONTENT_URI, value, SubscriptionManager.UNIQUE_KEY_SUBSCRIPTION_ID + "=" + Integer.toString(subId), null); return resolver.update(SubscriptionManager.getUriForSubscriptionId(subId), value, null, null); } /** Loading src/java/com/android/internal/telephony/SubscriptionInfoUpdater.java +4 −6 Original line number Diff line number Diff line Loading @@ -571,9 +571,8 @@ public class SubscriptionInfoUpdater extends Handler { ContentValues value = new ContentValues(1); value.put(SubscriptionManager.SIM_SLOT_INDEX, SubscriptionManager.INVALID_SIM_SLOT_INDEX); contentResolver.update(SubscriptionManager.CONTENT_URI, value, SubscriptionManager.UNIQUE_KEY_SUBSCRIPTION_ID + "=" + Integer.toString(oldSubInfo.get(0).getSubscriptionId()), null); contentResolver.update(SubscriptionManager.getUriForSubscriptionId( oldSubInfo.get(0).getSubscriptionId()), value, null, null); // refresh Cached Active Subscription Info List SubscriptionController.getInstance().refreshCachedActiveSubscriptionInfoList(); Loading Loading @@ -635,9 +634,8 @@ public class SubscriptionInfoUpdater extends Handler { if (msisdn != null) { ContentValues value = new ContentValues(1); value.put(SubscriptionManager.NUMBER, msisdn); contentResolver.update(SubscriptionManager.CONTENT_URI, value, SubscriptionManager.UNIQUE_KEY_SUBSCRIPTION_ID + "=" + Integer.toString(temp.getSubscriptionId()), null); contentResolver.update(SubscriptionManager.getUriForSubscriptionId( temp.getSubscriptionId()), value, null, null); // refresh Cached Active Subscription Info List SubscriptionController.getInstance().refreshCachedActiveSubscriptionInfoList(); Loading tests/telephonytests/src/com/android/internal/telephony/FakeTelephonyProvider.java +14 −3 Original line number Diff line number Diff line Loading @@ -18,11 +18,13 @@ package com.android.internal.telephony; import android.content.ContentUris; import android.content.ContentValues; import android.content.UriMatcher; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.net.Uri; import android.os.Bundle; import android.provider.BaseColumns; import android.support.test.InstrumentationRegistry; import android.telephony.SubscriptionManager; import android.test.mock.MockContentProvider; Loading Loading @@ -139,8 +141,17 @@ public class FakeTelephonyProvider extends MockContentProvider { } @Override public final int update(Uri uri, ContentValues values, String where, String[] selectionArgs) { return mDbHelper.getWritableDatabase().update("siminfo", values, where, selectionArgs); public final int update(Uri uri, ContentValues values, String where, String[] selectionArgs) { // handle URI with appended subId final int urlSimInfoSubId = 0; UriMatcher matcher = new UriMatcher(UriMatcher.NO_MATCH); matcher.addURI("telephony", "siminfo/#", urlSimInfoSubId); if (matcher.match(uri) == urlSimInfoSubId) { where = BaseColumns._ID + "=" + uri.getLastPathSegment(); } int count = mDbHelper.getWritableDatabase().update("siminfo", values, where, selectionArgs); return count; } } Loading
src/java/com/android/internal/telephony/SubscriptionController.java +18 −26 Original line number Diff line number Diff line Loading @@ -941,9 +941,8 @@ public class SubscriptionController extends ISub.Stub { } if (value.size() > 0) { resolver.update(SubscriptionManager.CONTENT_URI, value, SubscriptionManager.UNIQUE_KEY_SUBSCRIPTION_ID + "=" + Long.toString(subId), null); resolver.update(SubscriptionManager.getUriForSubscriptionId(subId), value, null, null); // Refresh the Cache of Active Subscription Info List refreshCachedActiveSubscriptionInfoList(); Loading Loading @@ -1036,9 +1035,8 @@ public class SubscriptionController extends ISub.Stub { ContentValues value = new ContentValues(); value.put(SubscriptionManager.DISPLAY_NAME, nameToSet); resolver.update(SubscriptionManager.CONTENT_URI, value, SubscriptionManager.UNIQUE_KEY_SUBSCRIPTION_ID + "=" + Long.toString(subId), null); resolver.update(SubscriptionManager.getUriForSubscriptionId(subId), value, null, null); // Refresh the Cache of Active Subscription Info List refreshCachedActiveSubscriptionInfoList(); Loading Loading @@ -1155,9 +1153,8 @@ public class SubscriptionController extends ISub.Stub { ContentValues value = new ContentValues(1); value.put(SubscriptionManager.CARRIER_NAME, text); int result = mContext.getContentResolver().update(SubscriptionManager.CONTENT_URI, value, SubscriptionManager.UNIQUE_KEY_SUBSCRIPTION_ID + "=" + Long.toString(subId), null); int result = mContext.getContentResolver().update( SubscriptionManager.getUriForSubscriptionId(subId), value, null, null); // Refresh the Cache of Active Subscription Info List refreshCachedActiveSubscriptionInfoList(); Loading Loading @@ -1190,9 +1187,8 @@ public class SubscriptionController extends ISub.Stub { value.put(SubscriptionManager.COLOR, tint); if (DBG) logd("[setIconTint]- tint:" + tint + " set"); int result = mContext.getContentResolver().update(SubscriptionManager.CONTENT_URI, value, SubscriptionManager.UNIQUE_KEY_SUBSCRIPTION_ID + "=" + Long.toString(subId), null); int result = mContext.getContentResolver().update( SubscriptionManager.getUriForSubscriptionId(subId), value, null, null); // Refresh the Cache of Active Subscription Info List refreshCachedActiveSubscriptionInfoList(); Loading Loading @@ -1254,9 +1250,8 @@ public class SubscriptionController extends ISub.Stub { // to the eSIM itself. Currently it will be blown away the next time the subscription // list is updated. int result = mContext.getContentResolver().update(SubscriptionManager.CONTENT_URI, value, SubscriptionManager.UNIQUE_KEY_SUBSCRIPTION_ID + "=" + Long.toString(subId), null); int result = mContext.getContentResolver().update( SubscriptionManager.getUriForSubscriptionId(subId), value, null, null); // Refresh the Cache of Active Subscription Info List refreshCachedActiveSubscriptionInfoList(); Loading Loading @@ -1300,9 +1295,8 @@ public class SubscriptionController extends ISub.Stub { // that was removed as there doesn't seem to be a reason for that. If it is added // back, watch out for deadlocks. result = mContext.getContentResolver().update(SubscriptionManager.CONTENT_URI, value, SubscriptionManager.UNIQUE_KEY_SUBSCRIPTION_ID + "=" + Long.toString(subId), null); result = mContext.getContentResolver().update( SubscriptionManager.getUriForSubscriptionId(subId), value, null, null); // Refresh the Cache of Active Subscription Info List refreshCachedActiveSubscriptionInfoList(); Loading Loading @@ -1340,9 +1334,8 @@ public class SubscriptionController extends ISub.Stub { value.put(SubscriptionManager.DATA_ROAMING, roaming); if (DBG) logd("[setDataRoaming]- roaming:" + roaming + " set"); int result = mContext.getContentResolver().update(SubscriptionManager.CONTENT_URI, value, SubscriptionManager.UNIQUE_KEY_SUBSCRIPTION_ID + "=" + Long.toString(subId), null); int result = mContext.getContentResolver().update( SubscriptionManager.getUriForSubscriptionId(subId), value, null, null); // Refresh the Cache of Active Subscription Info List refreshCachedActiveSubscriptionInfoList(); Loading Loading @@ -1379,8 +1372,8 @@ public class SubscriptionController extends ISub.Stub { value.put(SubscriptionManager.MCC_STRING, mccString); value.put(SubscriptionManager.MNC_STRING, mncString); int result = mContext.getContentResolver().update(SubscriptionManager.CONTENT_URI, value, SubscriptionManager.UNIQUE_KEY_SUBSCRIPTION_ID + "=" + Long.toString(subId), null); int result = mContext.getContentResolver().update( SubscriptionManager.getUriForSubscriptionId(subId), value, null, null); // Refresh the Cache of Active Subscription Info List refreshCachedActiveSubscriptionInfoList(); Loading Loading @@ -2066,9 +2059,8 @@ public class SubscriptionController extends ISub.Stub { break; } return resolver.update(SubscriptionManager.CONTENT_URI, value, SubscriptionManager.UNIQUE_KEY_SUBSCRIPTION_ID + "=" + Integer.toString(subId), null); return resolver.update(SubscriptionManager.getUriForSubscriptionId(subId), value, null, null); } /** Loading
src/java/com/android/internal/telephony/SubscriptionInfoUpdater.java +4 −6 Original line number Diff line number Diff line Loading @@ -571,9 +571,8 @@ public class SubscriptionInfoUpdater extends Handler { ContentValues value = new ContentValues(1); value.put(SubscriptionManager.SIM_SLOT_INDEX, SubscriptionManager.INVALID_SIM_SLOT_INDEX); contentResolver.update(SubscriptionManager.CONTENT_URI, value, SubscriptionManager.UNIQUE_KEY_SUBSCRIPTION_ID + "=" + Integer.toString(oldSubInfo.get(0).getSubscriptionId()), null); contentResolver.update(SubscriptionManager.getUriForSubscriptionId( oldSubInfo.get(0).getSubscriptionId()), value, null, null); // refresh Cached Active Subscription Info List SubscriptionController.getInstance().refreshCachedActiveSubscriptionInfoList(); Loading Loading @@ -635,9 +634,8 @@ public class SubscriptionInfoUpdater extends Handler { if (msisdn != null) { ContentValues value = new ContentValues(1); value.put(SubscriptionManager.NUMBER, msisdn); contentResolver.update(SubscriptionManager.CONTENT_URI, value, SubscriptionManager.UNIQUE_KEY_SUBSCRIPTION_ID + "=" + Integer.toString(temp.getSubscriptionId()), null); contentResolver.update(SubscriptionManager.getUriForSubscriptionId( temp.getSubscriptionId()), value, null, null); // refresh Cached Active Subscription Info List SubscriptionController.getInstance().refreshCachedActiveSubscriptionInfoList(); Loading
tests/telephonytests/src/com/android/internal/telephony/FakeTelephonyProvider.java +14 −3 Original line number Diff line number Diff line Loading @@ -18,11 +18,13 @@ package com.android.internal.telephony; import android.content.ContentUris; import android.content.ContentValues; import android.content.UriMatcher; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.net.Uri; import android.os.Bundle; import android.provider.BaseColumns; import android.support.test.InstrumentationRegistry; import android.telephony.SubscriptionManager; import android.test.mock.MockContentProvider; Loading Loading @@ -139,8 +141,17 @@ public class FakeTelephonyProvider extends MockContentProvider { } @Override public final int update(Uri uri, ContentValues values, String where, String[] selectionArgs) { return mDbHelper.getWritableDatabase().update("siminfo", values, where, selectionArgs); public final int update(Uri uri, ContentValues values, String where, String[] selectionArgs) { // handle URI with appended subId final int urlSimInfoSubId = 0; UriMatcher matcher = new UriMatcher(UriMatcher.NO_MATCH); matcher.addURI("telephony", "siminfo/#", urlSimInfoSubId); if (matcher.match(uri) == urlSimInfoSubId) { where = BaseColumns._ID + "=" + uri.getLastPathSegment(); } int count = mDbHelper.getWritableDatabase().update("siminfo", values, where, selectionArgs); return count; } }