aboutsummaryrefslogtreecommitdiffstats
path: root/sdk/src/java/org/lineageos/internal/util/TelephonyExtUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'sdk/src/java/org/lineageos/internal/util/TelephonyExtUtils.java')
-rw-r--r--sdk/src/java/org/lineageos/internal/util/TelephonyExtUtils.java53
1 files changed, 15 insertions, 38 deletions
diff --git a/sdk/src/java/org/lineageos/internal/util/TelephonyExtUtils.java b/sdk/src/java/org/lineageos/internal/util/TelephonyExtUtils.java
index 831f7578..59f6d10f 100644
--- a/sdk/src/java/org/lineageos/internal/util/TelephonyExtUtils.java
+++ b/sdk/src/java/org/lineageos/internal/util/TelephonyExtUtils.java
@@ -20,10 +20,8 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
-import android.os.AsyncTask;
import android.os.RemoteException;
import android.os.ServiceManager;
-import android.os.SystemProperties;
import android.telephony.SubscriptionManager;
import android.util.Log;
@@ -33,8 +31,6 @@ import org.codeaurora.internal.IExtTelephony;
import java.util.ArrayList;
import java.util.List;
-import java.util.concurrent.TimeoutException;
-import java.util.concurrent.TimeUnit;
public final class TelephonyExtUtils {
private static final boolean DEBUG = false;
@@ -45,9 +41,6 @@ public final class TelephonyExtUtils {
public static final String EXTRA_NEW_PROVISION_STATE = "newProvisionState";
- private static final int ACTIVATE_TIME_OUT = 30000;
- private static final String PROP_TIME_OUT = "sys.uicc.activate.timeout";
-
// This is the list of possible values that
// IExtTelephony.getCurrentUiccCardProvisioningStatus() can return
public static final int CARD_NOT_PRESENT = -2;
@@ -154,7 +147,15 @@ public final class TelephonyExtUtils {
* @return The result of the activation or -1
*/
public int activateUiccCard(int slotId) {
- return activateDeactivateUiccCard(true, slotId);
+ IExtTelephony service = getService();
+ if (service != null) {
+ try {
+ return mExtTelephony.activateUiccCard(slotId);
+ } catch (RemoteException ex) {
+ Log.e(TAG, "Activating sub failed for slotId: " + slotId);
+ }
+ }
+ return -1;
}
/**
@@ -163,38 +164,14 @@ public final class TelephonyExtUtils {
* @return The result of the deactivation or -1
*/
public int deactivateUiccCard(int slotId) {
- return activateDeactivateUiccCard(false, slotId);
- }
-
- private int activateDeactivateUiccCard(boolean activate, int slotId) {
IExtTelephony service = getService();
- if (service == null) {
- return -1;
- }
-
- try {
- AsyncTask<Integer, Void, Integer> task = new AsyncTask<Integer, Void, Integer>() {
- @Override
- protected Integer doInBackground(Integer... params) {
- try {
- return params[0] == 1
- ? mExtTelephony.activateUiccCard(params[1])
- : mExtTelephony.deactivateUiccCard(params[1]);
- } catch (RemoteException ex) {
- Log.e(TAG, "Changing activation for sub failed for slotId: " + params[1]);
- }
- return -1;
- }
- };
- task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, activate ? 1 : 0, slotId)
- .get(ACTIVATE_TIME_OUT, TimeUnit.MILLISECONDS);
- } catch (TimeoutException ex) {
- Log.e(TAG, "Changing activation for sub timed out for slotId: " + slotId);
- SystemProperties.set(PROP_TIME_OUT , Integer.toString(slotId + 1));
- } catch (Exception ex) {
- Log.e(TAG, "Changing activation for sub task failed for slotId: " + slotId);
+ if (service != null) {
+ try {
+ return mExtTelephony.deactivateUiccCard(slotId);
+ } catch (RemoteException ex) {
+ Log.e(TAG, "Deactivating sub failed for slotId: " + slotId);
+ }
}
-
return -1;
}