Skip to content

Commit 60d78e8

Browse files
committed
Prevent default phone account check when no SIM present
1 parent 9a1a518 commit 60d78e8

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

android/src/main/java/io/wazo/callkeep/RNCallKeepModule.java

+10-3
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import android.content.pm.ApplicationInfo;
2828
import android.content.pm.PackageManager;
2929
import android.net.Uri;
30-
import android.util.Log;
3130
import android.os.Build;
3231
import android.os.Bundle;
3332
import android.support.annotation.Nullable;
@@ -39,6 +38,8 @@
3938
import android.telecom.PhoneAccount;
4039
import android.telecom.PhoneAccountHandle;
4140
import android.telecom.TelecomManager;
41+
import android.telephony.TelephonyManager;
42+
import android.util.Log;
4243

4344
import com.facebook.react.bridge.Arguments;
4445
import com.facebook.react.bridge.Promise;
@@ -71,6 +72,7 @@ public class RNCallKeepModule extends ReactContextBaseJavaModule {
7172

7273
private static final String TAG = "RNCallKeepModule";
7374
private static TelecomManager telecomManager;
75+
private static TelephonyManager telephonyManager;
7476
private static Promise hasPhoneAccountPromise;
7577
private ReactApplicationContext reactContext;
7678
private static PhoneAccountHandle handle;
@@ -197,7 +199,10 @@ public void checkDefaultPhoneAccount(Promise promise) {
197199
return;
198200
}
199201

200-
promise.resolve(telecomManager.getDefaultOutgoingPhoneAccount("tel") != null);
202+
boolean hasSim = telephonyManager.getSimState() != TelephonyManager.SIM_STATE_ABSENT;
203+
boolean hasDefaultAccount = telecomManager.getDefaultOutgoingPhoneAccount("tel") != null;
204+
205+
promise.resolve(!hasSim || hasDefaultAccount);
201206
}
202207

203208
@ReactMethod
@@ -287,7 +292,9 @@ private void registerPhoneAccount(Context appContext) {
287292
.setCapabilities(PhoneAccount.CAPABILITY_CALL_PROVIDER)
288293
.build();
289294

290-
telecomManager = (TelecomManager) this.getAppContext().getSystemService(this.getAppContext().TELECOM_SERVICE);
295+
telephonyManager = (TelephonyManager) this.getAppContext().getSystemService(Context.TELEPHONY_SERVICE);
296+
telecomManager = (TelecomManager) this.getAppContext().getSystemService(Context.TELECOM_SERVICE);
297+
291298
telecomManager.registerPhoneAccount(account);
292299
}
293300

0 commit comments

Comments
 (0)