Check if OpenKeychain is installed

This commit is contained in:
M66B
2020-06-19 20:44:19 +02:00
parent 55a3c3cbb7
commit e242938e2c
2 changed files with 14 additions and 1 deletions

View File

@@ -92,6 +92,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.google.android.material.bottomnavigation.BottomNavigationView;
import org.jetbrains.annotations.NotNull;
import org.openintents.openpgp.util.OpenPgpApi;
import java.io.ByteArrayOutputStream;
import java.io.File;
@@ -408,6 +409,18 @@ public class Helper {
return (biometrics || !TextUtils.isEmpty(pin));
}
static boolean isOpenKeychainInstalled(Context context) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
String provider = prefs.getString("openpgp_provider", "org.sufficientlysecure.keychain");
PackageManager pm = context.getPackageManager();
Intent intent = new Intent(OpenPgpApi.SERVICE_INTENT_2);
intent.setPackage(provider);
List<ResolveInfo> ris = pm.queryIntentServices(intent, 0);
return (ris.size() > 0);
}
// View
static Intent getChooser(Context context, Intent intent) {