Merge "Introduce Default Ime height." into udc-qpr-dev
diff --git a/quickstep/src/com/android/quickstep/logging/StatsLogCompatManager.java b/quickstep/src/com/android/quickstep/logging/StatsLogCompatManager.java
index 6288937..1f06f94 100644
--- a/quickstep/src/com/android/quickstep/logging/StatsLogCompatManager.java
+++ b/quickstep/src/com/android/quickstep/logging/StatsLogCompatManager.java
@@ -110,8 +110,6 @@
public static final CopyOnWriteArrayList<StatsLogConsumer> LOGS_CONSUMER =
new CopyOnWriteArrayList<>();
- private final Context mContext;
-
public StatsLogCompatManager(Context context) {
mContext = context;
}
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 786088e..6796d4b 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -438,4 +438,8 @@
<!-- Folder spaces -->
<dimen name="folder_top_padding_default">24dp</dimen>
<dimen name="folder_footer_horiz_padding">20dp</dimen>
+
+ <!-- Default Ime height. Used only for logging purposes.
+ Assume this is default keyboard height in EN locale in case the keyboard height is not known when queried.-->
+ <dimen name="default_ime_height">300dp</dimen>
</resources>
diff --git a/src/com/android/launcher3/logging/KeyboardStateManager.java b/src/com/android/launcher3/logging/KeyboardStateManager.java
index 6dc0a0b..d0f9c74 100644
--- a/src/com/android/launcher3/logging/KeyboardStateManager.java
+++ b/src/com/android/launcher3/logging/KeyboardStateManager.java
@@ -24,7 +24,10 @@
*/
public class KeyboardStateManager {
private long mUpdatedTime;
- private int mImeHeight;
+ private int mImeHeightPx;
+ // Height of the keyboard when it's shown.
+ // mImeShownHeightPx>=mImeHeightPx always.
+ private int mImeShownHeightPx;
public enum KeyboardState {
NO_IME_ACTION,
@@ -34,8 +37,9 @@
private KeyboardState mKeyboardState;
- public KeyboardStateManager() {
+ public KeyboardStateManager(int defaultImeShownHeightPx) {
mKeyboardState = NO_IME_ACTION;
+ mImeShownHeightPx = defaultImeShownHeightPx;
}
/**
@@ -64,13 +68,25 @@
* Returns keyboard's current height.
*/
public int getImeHeight() {
- return mImeHeight;
+ return mImeHeightPx;
}
/**
- * Setter method to set keyboard height.
+ * Returns keyboard's height in pixels when shown.
*/
- public void setImeHeight(int imeHeight) {
- mImeHeight = imeHeight;
+ public int getImeShownHeight() {
+ return mImeShownHeightPx;
+ }
+
+ /**
+ * Setter method to set keyboard height in pixels.
+ */
+ public void setImeHeight(int imeHeightPx) {
+ mImeHeightPx = imeHeightPx;
+ if (mImeHeightPx > 0) {
+ // Update the mImeShownHeightPx with the actual ime height when shown and store it
+ // for future sessions.
+ mImeShownHeightPx = mImeHeightPx;
+ }
}
}
diff --git a/src/com/android/launcher3/logging/StatsLogManager.java b/src/com/android/launcher3/logging/StatsLogManager.java
index 7e065a9..3e9731382 100644
--- a/src/com/android/launcher3/logging/StatsLogManager.java
+++ b/src/com/android/launcher3/logging/StatsLogManager.java
@@ -59,6 +59,7 @@
private InstanceId mInstanceId;
protected @Nullable ActivityContext mActivityContext = null;
+ protected @Nullable Context mContext = null;
private KeyboardStateManager mKeyboardStateManager;
/**
@@ -1035,7 +1036,9 @@
*/
public KeyboardStateManager keyboardStateManager() {
if (mKeyboardStateManager == null) {
- mKeyboardStateManager = new KeyboardStateManager();
+ mKeyboardStateManager = new KeyboardStateManager(
+ mContext != null ? mContext.getResources().getDimensionPixelSize(
+ R.dimen.default_ime_height) : 0);
}
return mKeyboardStateManager;
}
@@ -1071,6 +1074,7 @@
StatsLogManager manager = Overrides.getObject(StatsLogManager.class,
context.getApplicationContext(), R.string.stats_log_manager_class);
manager.mActivityContext = ActivityContext.lookupContextNoThrow(context);
+ manager.mContext = context;
return manager;
}
}