Merge "Disable FolderNameEditText on Taskbar" into sc-v2-dev

This commit is contained in:
TreeHugger Robot
2021-09-03 23:00:33 +00:00
committed by Android (Google) Code Review
3 changed files with 28 additions and 9 deletions

View File

@@ -216,6 +216,14 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ
return mViewCache;
}
@Override
public boolean supportsIme() {
// Currently we don't support IME because we have FLAG_NOT_FOCUSABLE. We can remove that
// flag when opening a floating view that needs IME (such as Folder), but then that means
// Taskbar will be below IME and thus users can't click the back button.
return false;
}
/**
* Sets a new data-source for this taskbar instance
*/

View File

@@ -276,15 +276,19 @@ public class Folder extends AbstractFloatingView implements ClipPathView, DragSo
mPageIndicator = findViewById(R.id.folder_page_indicator);
mFolderName = findViewById(R.id.folder_name);
mFolderName.setTextSize(TypedValue.COMPLEX_UNIT_PX, dp.folderLabelTextSizePx);
mFolderName.setOnBackKeyListener(this);
mFolderName.setOnFocusChangeListener(this);
mFolderName.setOnEditorActionListener(this);
mFolderName.setSelectAllOnFocus(true);
mFolderName.setInputType(mFolderName.getInputType()
& ~InputType.TYPE_TEXT_FLAG_AUTO_CORRECT
| InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS
| InputType.TYPE_TEXT_FLAG_CAP_WORDS);
mFolderName.forceDisableSuggestions(true);
if (mActivityContext.supportsIme()) {
mFolderName.setOnBackKeyListener(this);
mFolderName.setOnFocusChangeListener(this);
mFolderName.setOnEditorActionListener(this);
mFolderName.setSelectAllOnFocus(true);
mFolderName.setInputType(mFolderName.getInputType()
& ~InputType.TYPE_TEXT_FLAG_AUTO_CORRECT
| InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS
| InputType.TYPE_TEXT_FLAG_CAP_WORDS);
mFolderName.forceDisableSuggestions(true);
} else {
mFolderName.setEnabled(false);
}
mFooter = findViewById(R.id.folder_footer);
mFooterHeight = getResources().getDimensionPixelSize(R.dimen.folder_label_height);

View File

@@ -114,6 +114,13 @@ public interface ActivityContext {
return StatsLogManager.newInstance((Context) this);
}
/**
* Returns whether we can show the IME for elements hosted by this ActivityContext.
*/
default boolean supportsIme() {
return true;
}
/**
* Returns the ActivityContext associated with the given Context.
*/