summaryrefslogtreecommitdiff
path: root/rcs/rcsservice/src/com/android/service/ims/RcsService.java
diff options
context:
space:
mode:
authorBrad Ebinger <breadley@google.com>2018-04-26 16:06:19 -0700
committerBrad Ebinger <breadley@google.com>2018-04-26 16:06:19 -0700
commit07807ff29ee08f0ad40312f656d5c3ac7ca22dec (patch)
tree983779c7e19cd9a8181a620aacd6ccb61daeb2a3 /rcs/rcsservice/src/com/android/service/ims/RcsService.java
parent13ad2257199bff8053dc1b1b55c44d7f95a95d0e (diff)
downloadims-07807ff29ee08f0ad40312f656d5c3ac7ca22dec.tar.gz
Move VT ContentObserver to TelephonyProvider.pie-dev
The user VT setting was moved from settings into the TelephonyProvider in P. RCS presence service is still relying on ContentObserver changes in settings. Move over to listening for changes in the siminfo database and query VT user setting for that instead. Bug: 78076949 Test: manual, enable/disable user VT setting and watch Presence changes. Change-Id: I5d793b043ef10640c9d355371b703a697798804f
Diffstat (limited to 'rcs/rcsservice/src/com/android/service/ims/RcsService.java')
-rw-r--r--rcs/rcsservice/src/com/android/service/ims/RcsService.java33
1 files changed, 14 insertions, 19 deletions
diff --git a/rcs/rcsservice/src/com/android/service/ims/RcsService.java b/rcs/rcsservice/src/com/android/service/ims/RcsService.java
index 631ffbd..01f9fbd 100644
--- a/rcs/rcsservice/src/com/android/service/ims/RcsService.java
+++ b/rcs/rcsservice/src/com/android/service/ims/RcsService.java
@@ -28,12 +28,9 @@
package com.android.service.ims;
-import android.net.Uri;
-
import java.util.List;
import android.content.Intent;
-import android.app.PendingIntent;
import android.content.IntentFilter;
import android.os.IBinder;
import android.os.RemoteException;
@@ -45,11 +42,8 @@ import android.database.ContentObserver;
import android.content.BroadcastReceiver;
import android.provider.Settings;
import android.net.ConnectivityManager;
-import com.android.ims.ImsConfig.FeatureValueConstants;
import com.android.ims.ImsManager;
-import com.android.ims.ImsConfig;
import com.android.ims.ImsConnectionStateListener;
-import com.android.ims.ImsServiceClass;
import com.android.ims.ImsException;
import android.telephony.SubscriptionManager;
import android.telephony.ims.ImsReasonInfo;
@@ -58,12 +52,10 @@ import com.android.ims.RcsManager.ResultCode;
import com.android.ims.internal.IRcsService;
import com.android.ims.IRcsPresenceListener;
import com.android.ims.internal.IRcsPresence;
-import com.android.ims.RcsPresence.PublishState;
import com.android.ims.internal.Logger;
import com.android.internal.telephony.IccCardConstants;
import com.android.internal.telephony.TelephonyIntents;
-import com.android.service.ims.RcsStackAdaptor;
import com.android.service.ims.presence.PresencePublication;
import com.android.service.ims.presence.PresenceSubscriber;
@@ -112,10 +104,9 @@ public class RcsService extends Service{
Settings.Global.getUriFor(Settings.Global.MOBILE_DATA),
false, mObserver);
- mVtSettingObserver = new VtSettingContentObserver();
+ mSiminfoSettingObserver = new SimInfoContentObserver();
getContentResolver().registerContentObserver(
- Settings.Global.getUriFor(Settings.Global.VT_IMS_ENABLED),
- false, mVtSettingObserver);
+ SubscriptionManager.CONTENT_URI, false, mSiminfoSettingObserver);
mReceiver = new BroadcastReceiver() {
@Override
@@ -179,7 +170,7 @@ public class RcsService extends Service{
@Override
public void onDestroy() {
getContentResolver().unregisterContentObserver(mObserver);
- getContentResolver().unregisterContentObserver(mVtSettingObserver);
+ getContentResolver().unregisterContentObserver(mSiminfoSettingObserver);
if (mReceiver != null) {
unregisterReceiver(mReceiver);
mReceiver = null;
@@ -318,21 +309,25 @@ public class RcsService extends Service{
}
- private VtSettingContentObserver mVtSettingObserver;
+ private SimInfoContentObserver mSiminfoSettingObserver;
/**
- * Receives notifications when Mobile data is enabled or disabled.
+ * Receives notifications when the TelephonyProvider is changed.
*/
- private class VtSettingContentObserver extends ContentObserver {
- public VtSettingContentObserver() {
+ private class SimInfoContentObserver extends ContentObserver {
+ public SimInfoContentObserver() {
super(new Handler());
}
@Override
public void onChange(final boolean selfChange) {
- boolean enabled = Settings.Global.getInt(getContentResolver(),
- Settings.Global.VT_IMS_ENABLED, 1) == 1;
- logger.debug("vt enabled status: " + (enabled ? "ON" : "OFF"));
+ ImsManager imsManager = ImsManager.getInstance(RcsService.this,
+ SubscriptionManager.getDefaultVoicePhoneId());
+ if (imsManager == null) {
+ return;
+ }
+ boolean enabled = imsManager.isVtEnabledByUser();
+ logger.debug("vt enabled status: " + (enabled ? "ON" : "OFF"));
onVtEnabled(enabled);
}