Loading java/src/com/android/inputmethod/latin/LatinIME.java +24 −22 Original line number Diff line number Diff line Loading @@ -25,6 +25,8 @@ import static com.android.inputmethod.latin.common.Constants.ImeOption.NO_MICROP import android.Manifest.permission; import android.accounts.Account; import android.accounts.AccountManager; import android.content.pm.PackageManager; import androidx.core.content.ContextCompat; import android.app.ActivityOptions; import android.app.AlertDialog; import android.content.BroadcastReceiver; Loading Loading @@ -877,7 +879,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen ImageButton floatingButton = view.findViewById(R.id.floating_button); if (floatingButton != null) { if (isSetupWizardFinished() && accountIsPremium()) { if (isSetupWizardFinished() && accountIsPremium(this)) { floatingButton.setVisibility(View.VISIBLE); floatingButton.setOnClickListener(new View.OnClickListener() { @Override Loading Loading @@ -907,30 +909,30 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen return isDeviceProvisioned; } private boolean accountIsPremium() { AccountManager accountManager = AccountManager.get(mDisplayContext); Log.d(TAG, ">>>" + accountManager); private boolean accountIsPremium(Context context) { if(ContextCompat.checkSelfPermission(context, android.Manifest.permission.GET_ACCOUNTS) != PackageManager.PERMISSION_GRANTED) { Log.e(TAG, "Missing permission"); return false; } AccountManager accountManager = AccountManager.get(context); Log.d(TAG, "AccountManager: " + accountManager); Account[] accountList = accountManager.getAccountsByType("e.foundation.webdav.eelo"); boolean accountIsPremium = false; Log.d(TAG, "Nb: " + accountList.length); Log.d(TAG, ">>>" + accountList.length); if (accountList != null) { Log.d(TAG, ">>>accountList is not null"); for (Account account : accountList) { Log.d(TAG, ">>>accountList iterate..."); Log.d(TAG, "Account: " + account.name); String groupData = accountManager.getUserData(account, "group"); Log.d(TAG, ">>>" + groupData); Log.d(TAG, "Group: " + groupData); if ("premium".equals(groupData)) { Log.d(TAG, ">>> OK"); accountIsPremium = true; break; } Log.d(TAG, "Premium"); return true; } } else { Log.d(TAG, ">>>accountList is null"); } Log.d(TAG, ">>>>>>" + accountIsPremium); return accountIsPremium; Log.d(TAG, "No premium user"); return false; } @Override Loading Loading
java/src/com/android/inputmethod/latin/LatinIME.java +24 −22 Original line number Diff line number Diff line Loading @@ -25,6 +25,8 @@ import static com.android.inputmethod.latin.common.Constants.ImeOption.NO_MICROP import android.Manifest.permission; import android.accounts.Account; import android.accounts.AccountManager; import android.content.pm.PackageManager; import androidx.core.content.ContextCompat; import android.app.ActivityOptions; import android.app.AlertDialog; import android.content.BroadcastReceiver; Loading Loading @@ -877,7 +879,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen ImageButton floatingButton = view.findViewById(R.id.floating_button); if (floatingButton != null) { if (isSetupWizardFinished() && accountIsPremium()) { if (isSetupWizardFinished() && accountIsPremium(this)) { floatingButton.setVisibility(View.VISIBLE); floatingButton.setOnClickListener(new View.OnClickListener() { @Override Loading Loading @@ -907,30 +909,30 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen return isDeviceProvisioned; } private boolean accountIsPremium() { AccountManager accountManager = AccountManager.get(mDisplayContext); Log.d(TAG, ">>>" + accountManager); private boolean accountIsPremium(Context context) { if(ContextCompat.checkSelfPermission(context, android.Manifest.permission.GET_ACCOUNTS) != PackageManager.PERMISSION_GRANTED) { Log.e(TAG, "Missing permission"); return false; } AccountManager accountManager = AccountManager.get(context); Log.d(TAG, "AccountManager: " + accountManager); Account[] accountList = accountManager.getAccountsByType("e.foundation.webdav.eelo"); boolean accountIsPremium = false; Log.d(TAG, "Nb: " + accountList.length); Log.d(TAG, ">>>" + accountList.length); if (accountList != null) { Log.d(TAG, ">>>accountList is not null"); for (Account account : accountList) { Log.d(TAG, ">>>accountList iterate..."); Log.d(TAG, "Account: " + account.name); String groupData = accountManager.getUserData(account, "group"); Log.d(TAG, ">>>" + groupData); Log.d(TAG, "Group: " + groupData); if ("premium".equals(groupData)) { Log.d(TAG, ">>> OK"); accountIsPremium = true; break; } Log.d(TAG, "Premium"); return true; } } else { Log.d(TAG, ">>>accountList is null"); } Log.d(TAG, ">>>>>>" + accountIsPremium); return accountIsPremium; Log.d(TAG, "No premium user"); return false; } @Override Loading