package com.anysoftkeyboard.ui.settings.setup;
import android.content.ComponentName;
import android.content.Context;
import android.provider.Settings;
import android.text.TextUtils;
public class SetupSupport {
public static boolean isThisKeyboardSetAsDefaultIME(Context context) {
final String defaultIME = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD);
return isThisKeyboardSetAsDefaultIME(defaultIME, context.getPackageName());
}
public static boolean isThisKeyboardSetAsDefaultIME(String defaultIME, String myPackageName) {
if (TextUtils.isEmpty(defaultIME))
return false;
ComponentName defaultInputMethod = ComponentName.unflattenFromString(defaultIME);
if (defaultInputMethod.getPackageName().equals(myPackageName)) {
return true;
} else {
return false;
}
}
public static boolean isThisKeyboardEnabled(Context context) {
final String enabledIMEList = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ENABLED_INPUT_METHODS);
return isThisKeyboardEnabled(enabledIMEList, context.getPackageName());
}
public static boolean isThisKeyboardEnabled(String enabledIMEList, String myPackageName) {
if (TextUtils.isEmpty(enabledIMEList))
return false;
String[] enabledIMEs = enabledIMEList.split(":");
for(String enabledIMEId : enabledIMEs) {
ComponentName enabledIME = ComponentName.unflattenFromString(enabledIMEId);
if (enabledIME != null && enabledIME.getPackageName().equals(myPackageName)) {
return true;
}
}
return false;
}
}