mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-21 15:19:53 +01:00
Move input state methods to UiUtils.
This commit is contained in:
@@ -118,7 +118,7 @@ public class SetPasswordFragment extends SetupFragment {
|
|||||||
@Override
|
@Override
|
||||||
public void onClick(View view) {
|
public void onClick(View view) {
|
||||||
IBinder token = passwordEntry.getWindowToken();
|
IBinder token = passwordEntry.getWindowToken();
|
||||||
Object o = getContext().getSystemService(INPUT_METHOD_SERVICE);
|
Object o = requireContext().getSystemService(INPUT_METHOD_SERVICE);
|
||||||
((InputMethodManager) o).hideSoftInputFromWindow(token, 0);
|
((InputMethodManager) o).hideSoftInputFromWindow(token, 0);
|
||||||
viewModel.setPassword(passwordEntry.getText().toString());
|
viewModel.setPassword(passwordEntry.getText().toString());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,15 +20,14 @@ import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TASK;
|
|||||||
import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP;
|
import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP;
|
||||||
import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
|
import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
|
||||||
import static android.content.Intent.FLAG_ACTIVITY_TASK_ON_HOME;
|
import static android.content.Intent.FLAG_ACTIVITY_TASK_ON_HOME;
|
||||||
import static android.view.WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE;
|
|
||||||
import static android.view.WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE;
|
|
||||||
import static android.view.WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN;
|
|
||||||
import static org.briarproject.briar.android.BriarApplication.ENTRY_ACTIVITY;
|
import static org.briarproject.briar.android.BriarApplication.ENTRY_ACTIVITY;
|
||||||
import static org.briarproject.briar.android.account.SetupViewModel.State.AUTHOR_NAME;
|
import static org.briarproject.briar.android.account.SetupViewModel.State.AUTHOR_NAME;
|
||||||
import static org.briarproject.briar.android.account.SetupViewModel.State.CREATED;
|
import static org.briarproject.briar.android.account.SetupViewModel.State.CREATED;
|
||||||
import static org.briarproject.briar.android.account.SetupViewModel.State.DOZE;
|
import static org.briarproject.briar.android.account.SetupViewModel.State.DOZE;
|
||||||
import static org.briarproject.briar.android.account.SetupViewModel.State.FAILED;
|
import static org.briarproject.briar.android.account.SetupViewModel.State.FAILED;
|
||||||
import static org.briarproject.briar.android.account.SetupViewModel.State.SET_PASSWORD;
|
import static org.briarproject.briar.android.account.SetupViewModel.State.SET_PASSWORD;
|
||||||
|
import static org.briarproject.briar.android.util.UiUtils.setInputStateAlwaysVisible;
|
||||||
|
import static org.briarproject.briar.android.util.UiUtils.setInputStateHidden;
|
||||||
|
|
||||||
@MethodsNotNullByDefault
|
@MethodsNotNullByDefault
|
||||||
@ParametersNotNullByDefault
|
@ParametersNotNullByDefault
|
||||||
@@ -58,13 +57,13 @@ public class SetupActivity extends BaseActivity
|
|||||||
|
|
||||||
private void onStateChanged(SetupViewModel.State state) {
|
private void onStateChanged(SetupViewModel.State state) {
|
||||||
if (state == AUTHOR_NAME) {
|
if (state == AUTHOR_NAME) {
|
||||||
showKeyboard();
|
setInputStateAlwaysVisible(this);
|
||||||
showInitialFragment(AuthorNameFragment.newInstance());
|
showInitialFragment(AuthorNameFragment.newInstance());
|
||||||
} else if (state == SET_PASSWORD) {
|
} else if (state == SET_PASSWORD) {
|
||||||
showKeyboard();
|
setInputStateAlwaysVisible(this);
|
||||||
showPasswordFragment();
|
showPasswordFragment();
|
||||||
} else if (state == DOZE) {
|
} else if (state == DOZE) {
|
||||||
hideKeyboard();
|
setInputStateHidden(this);
|
||||||
showDozeFragment();
|
showDozeFragment();
|
||||||
} else if (state == CREATED || state == FAILED) {
|
} else if (state == CREATED || state == FAILED) {
|
||||||
// TODO: Show an error if failed
|
// TODO: Show an error if failed
|
||||||
@@ -90,16 +89,6 @@ public class SetupActivity extends BaseActivity
|
|||||||
overridePendingTransition(R.anim.screen_new_in, R.anim.screen_old_out);
|
overridePendingTransition(R.anim.screen_new_in, R.anim.screen_old_out);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void showKeyboard() {
|
|
||||||
getWindow().setSoftInputMode(SOFT_INPUT_ADJUST_RESIZE |
|
|
||||||
SOFT_INPUT_STATE_ALWAYS_VISIBLE);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void hideKeyboard() {
|
|
||||||
getWindow().setSoftInputMode(SOFT_INPUT_ADJUST_RESIZE |
|
|
||||||
SOFT_INPUT_STATE_HIDDEN);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public void runOnDbThread(Runnable runnable) {
|
public void runOnDbThread(Runnable runnable) {
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package org.briarproject.briar.android.util;
|
|||||||
|
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
import android.annotation.TargetApi;
|
import android.annotation.TargetApi;
|
||||||
|
import android.app.Activity;
|
||||||
import android.app.KeyguardManager;
|
import android.app.KeyguardManager;
|
||||||
import android.content.ActivityNotFoundException;
|
import android.content.ActivityNotFoundException;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@@ -90,6 +91,9 @@ import static android.text.format.DateUtils.WEEK_IN_MILLIS;
|
|||||||
import static android.text.format.DateUtils.YEAR_IN_MILLIS;
|
import static android.text.format.DateUtils.YEAR_IN_MILLIS;
|
||||||
import static android.view.KeyEvent.ACTION_DOWN;
|
import static android.view.KeyEvent.ACTION_DOWN;
|
||||||
import static android.view.KeyEvent.KEYCODE_ENTER;
|
import static android.view.KeyEvent.KEYCODE_ENTER;
|
||||||
|
import static android.view.WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE;
|
||||||
|
import static android.view.WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE;
|
||||||
|
import static android.view.WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN;
|
||||||
import static android.view.inputmethod.EditorInfo.IME_NULL;
|
import static android.view.inputmethod.EditorInfo.IME_NULL;
|
||||||
import static android.view.inputmethod.InputMethodManager.SHOW_IMPLICIT;
|
import static android.view.inputmethod.InputMethodManager.SHOW_IMPLICIT;
|
||||||
import static android.widget.Toast.LENGTH_LONG;
|
import static android.widget.Toast.LENGTH_LONG;
|
||||||
@@ -537,4 +541,14 @@ public class UiUtils {
|
|||||||
Toast.makeText(context, msg, LENGTH_LONG).show();
|
Toast.makeText(context, msg, LENGTH_LONG).show();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void setInputStateAlwaysVisible(Activity activity) {
|
||||||
|
activity.getWindow().setSoftInputMode(SOFT_INPUT_ADJUST_RESIZE |
|
||||||
|
SOFT_INPUT_STATE_ALWAYS_VISIBLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void setInputStateHidden(Activity activity) {
|
||||||
|
activity.getWindow().setSoftInputMode(SOFT_INPUT_ADJUST_RESIZE |
|
||||||
|
SOFT_INPUT_STATE_HIDDEN);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user