Android-x86
Fork
Donation

  • R/O
  • HTTP
  • SSH
  • HTTPS

packages-apps-Taskbar: Commit

packages/apps/Taskbar


Commit MetaInfo

Revisiond1d3cec18bfc28a92c2aa44e03fec2aee722135b (tree)
Time2019-08-20 13:52:39
AuthorBraden Farmer <farmerbb@gmai...>
CommiterBraden Farmer

Log Message

Workaround for incorrect display size on devices with notches in landscape mode

Change Summary

Incremental Difference

--- a/app/src/main/java/com/farmerbb/taskbar/activity/ContextMenuActivity.java
+++ b/app/src/main/java/com/farmerbb/taskbar/activity/ContextMenuActivity.java
@@ -49,6 +49,7 @@ import com.farmerbb.taskbar.activity.dark.DesktopIconSelectAppActivityDark;
4949 import com.farmerbb.taskbar.activity.dark.SelectAppActivityDark;
5050 import com.farmerbb.taskbar.util.AppEntry;
5151 import com.farmerbb.taskbar.util.ApplicationType;
52+import com.farmerbb.taskbar.util.CompatUtils;
5253 import com.farmerbb.taskbar.util.DesktopIconInfo;
5354 import com.farmerbb.taskbar.util.DisplayInfo;
5455 import com.farmerbb.taskbar.util.FreeformHackHelper;
@@ -116,6 +117,7 @@ public class ContextMenuActivity extends PreferenceActivity implements Preferenc
116117
117118 // Determine where to position the dialog on screen
118119 WindowManager.LayoutParams params = getWindow().getAttributes();
120+ CompatUtils.applyDisplayCutoutModeTo(params);
119121 DisplayInfo display = U.getDisplayInfo(this);
120122
121123 int statusBarHeight = 0;
--- a/app/src/main/java/com/farmerbb/taskbar/ui/TaskbarController.java
+++ b/app/src/main/java/com/farmerbb/taskbar/ui/TaskbarController.java
@@ -854,7 +854,7 @@ public class TaskbarController implements UIController {
854854 handler.post(() -> {
855855 if(numOfEntries > 0 || fullLength) {
856856 ViewGroup.LayoutParams params = scrollView.getLayoutParams();
857- DisplayInfo display = U.getDisplayInfo(context);
857+ DisplayInfo display = U.getDisplayInfo(context, true);
858858 int recentsSize = context.getResources().getDimensionPixelSize(R.dimen.icon_size) * numOfEntries;
859859 float maxRecentsSize = fullLength ? Float.MAX_VALUE : recentsSize;
860860
--- a/app/src/main/java/com/farmerbb/taskbar/util/U.java
+++ b/app/src/main/java/com/farmerbb/taskbar/util/U.java
@@ -1048,12 +1048,12 @@ public class U {
10481048
10491049 return getActivityOptionsBundle(context, type, pref.getString("window_size", "standard"), view);
10501050 }
1051-
1051+
10521052 private static Bundle getActivityOptionsBundle(Context context, ApplicationType type, String windowSize, View view) {
10531053 SharedPreferences pref = getSharedPreferences(context);
10541054 if(!canEnableFreeform() || !pref.getBoolean("freeform_hack", false))
10551055 return getActivityOptions(view).toBundle();
1056-
1056+
10571057 switch(windowSize) {
10581058 case "large":
10591059 return launchMode1(context, type, view);
@@ -1286,6 +1286,10 @@ public class U {
12861286 }
12871287
12881288 public static DisplayInfo getDisplayInfo(Context context) {
1289+ return getDisplayInfo(context, false);
1290+ }
1291+
1292+ public static DisplayInfo getDisplayInfo(Context context, boolean fromTaskbar) {
12891293 context = context.getApplicationContext();
12901294
12911295 WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
@@ -1309,6 +1313,10 @@ public class U {
13091313 return display;
13101314 }
13111315
1316+ // Workaround for incorrect display size on devices with notches in landscape mode
1317+ if(fromTaskbar && context.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE)
1318+ return display;
1319+
13121320 boolean sameWidth = metrics.widthPixels == realMetrics.widthPixels;
13131321 boolean sameHeight = metrics.heightPixels == realMetrics.heightPixels;
13141322
Show on old repository browser