mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-03-04 18:06:48 +00:00
Hide keyboard while the home button get pressed
For multi-client IME, launcher need to call hideSoftInputFromWindow() by using the InputMethodManager instance that mapped the presented display while its home button get pressed. Launcher 3 has already handled this part, but the secondary launcher has not yet. Bug: 120114697 Test: Manual verified that multi-client IME can be closed correctly. Change-Id: I8959c3a470580452bfb95dbd4b4ce9268589000f
This commit is contained in:
@@ -26,12 +26,11 @@ import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.res.Configuration;
|
||||
import android.os.Bundle;
|
||||
import com.google.android.material.circularreveal.cardview.CircularRevealCardView;
|
||||
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewAnimationUtils;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
import android.widget.GridView;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.PopupMenu;
|
||||
@@ -41,6 +40,9 @@ import androidx.fragment.app.FragmentManager;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
import androidx.lifecycle.ViewModelProvider.AndroidViewModelFactory;
|
||||
|
||||
import com.google.android.material.circularreveal.cardview.CircularRevealCardView;
|
||||
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
@@ -141,6 +143,16 @@ public class SecondaryDisplayLauncher extends FragmentActivity implements AppPic
|
||||
|
||||
public void onNewIntent(Intent intent) {
|
||||
super.onNewIntent(intent);
|
||||
|
||||
if (Intent.ACTION_MAIN.equals(intent.getAction())) {
|
||||
// Hide keyboard.
|
||||
final View v = getWindow().peekDecorView();
|
||||
if (v != null && v.getWindowToken() != null) {
|
||||
getSystemService(InputMethodManager.class).hideSoftInputFromWindow(
|
||||
v.getWindowToken(), 0);
|
||||
}
|
||||
}
|
||||
|
||||
// A new intent will bring the launcher to top. Hide the app drawer to reset the state.
|
||||
showAppDrawer(false);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user