Loading src/java/com/android/internal/telephony/ims/ImsServiceController.java +18 −8 Original line number Diff line number Diff line Loading @@ -65,10 +65,10 @@ public class ImsServiceController { @Override public void binderDied() { Log.e(LOG_TAG, "ImsService(" + mComponentName + ") died. Cleaning up."); Log.e(LOG_TAG, "ImsService(" + mComponentName + ") died. Restarting..."); notifyAllFeaturesRemoved(); cleanUpService(); mHandler.postDelayed(mRestartImsServiceRunnable, mRebindRetry.getRetryTimeout()); startDelayedRebindToService(); } } Loading @@ -76,16 +76,18 @@ public class ImsServiceController { @Override public void onServiceConnected(ComponentName name, IBinder service) { if (service != null) { synchronized (mLock) { mIsBound = true; mIsBinding = false; grantPermissionsToService(); Log.d(LOG_TAG, "ImsService(" + name + "): onServiceConnected with binder: " + service); if (service != null) { mImsDeathRecipient = new ImsDeathRecipient(name); try { service.linkToDeath(mImsDeathRecipient, 0); mImsServiceControllerBinder = service; mIImsServiceController = IImsServiceController.Stub.asInterface(service); mIsBound = true; mIsBinding = false; grantPermissionsToService(); // create all associated features in the ImsService for (Pair<Integer, Integer> i : mImsFeatures) { addImsServiceFeature(i); Loading Loading @@ -114,7 +116,8 @@ public class ImsServiceController { } notifyAllFeaturesRemoved(); cleanUpService(); mHandler.postDelayed(mRestartImsServiceRunnable, mRebindRetry.getRetryTimeout()); Log.w(LOG_TAG, "ImsService(" + name + "): onServiceDisconnected. Rebinding..."); startDelayedRebindToService(); } } Loading Loading @@ -358,6 +361,13 @@ public class ImsServiceController { } } // Only add a new rebind if there are no pending rebinds waiting. private void startDelayedRebindToService() { if (!mHandler.hasCallbacks(mRestartImsServiceRunnable)) { mHandler.postDelayed(mRestartImsServiceRunnable, mRebindRetry.getRetryTimeout()); } } // Grant runtime permissions to ImsService. PackageManager ensures that the ImsService is // system/signed before granting permissions. private void grantPermissionsToService() { Loading Loading
src/java/com/android/internal/telephony/ims/ImsServiceController.java +18 −8 Original line number Diff line number Diff line Loading @@ -65,10 +65,10 @@ public class ImsServiceController { @Override public void binderDied() { Log.e(LOG_TAG, "ImsService(" + mComponentName + ") died. Cleaning up."); Log.e(LOG_TAG, "ImsService(" + mComponentName + ") died. Restarting..."); notifyAllFeaturesRemoved(); cleanUpService(); mHandler.postDelayed(mRestartImsServiceRunnable, mRebindRetry.getRetryTimeout()); startDelayedRebindToService(); } } Loading @@ -76,16 +76,18 @@ public class ImsServiceController { @Override public void onServiceConnected(ComponentName name, IBinder service) { if (service != null) { synchronized (mLock) { mIsBound = true; mIsBinding = false; grantPermissionsToService(); Log.d(LOG_TAG, "ImsService(" + name + "): onServiceConnected with binder: " + service); if (service != null) { mImsDeathRecipient = new ImsDeathRecipient(name); try { service.linkToDeath(mImsDeathRecipient, 0); mImsServiceControllerBinder = service; mIImsServiceController = IImsServiceController.Stub.asInterface(service); mIsBound = true; mIsBinding = false; grantPermissionsToService(); // create all associated features in the ImsService for (Pair<Integer, Integer> i : mImsFeatures) { addImsServiceFeature(i); Loading Loading @@ -114,7 +116,8 @@ public class ImsServiceController { } notifyAllFeaturesRemoved(); cleanUpService(); mHandler.postDelayed(mRestartImsServiceRunnable, mRebindRetry.getRetryTimeout()); Log.w(LOG_TAG, "ImsService(" + name + "): onServiceDisconnected. Rebinding..."); startDelayedRebindToService(); } } Loading Loading @@ -358,6 +361,13 @@ public class ImsServiceController { } } // Only add a new rebind if there are no pending rebinds waiting. private void startDelayedRebindToService() { if (!mHandler.hasCallbacks(mRestartImsServiceRunnable)) { mHandler.postDelayed(mRestartImsServiceRunnable, mRebindRetry.getRetryTimeout()); } } // Grant runtime permissions to ImsService. PackageManager ensures that the ImsService is // system/signed before granting permissions. private void grantPermissionsToService() { Loading