commit c9556e1e82aa69137a15289523339b2ffbaa31f8
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Tue Sep 22 23:57:10 2020 +0100

    Apply a hack so that the App enters fullscreen modee on some Huawei devices.

diff --git a/src/main/java/org/distorted/main/RubikActivity.java b/src/main/java/org/distorted/main/RubikActivity.java
index 519d1be9..8e270721 100644
--- a/src/main/java/org/distorted/main/RubikActivity.java
+++ b/src/main/java/org/distorted/main/RubikActivity.java
@@ -28,6 +28,7 @@ import androidx.appcompat.app.AppCompatActivity;
 
 import android.util.DisplayMetrics;
 import android.view.View;
+import android.view.WindowManager;
 
 import com.google.firebase.analytics.FirebaseAnalytics;
 
@@ -100,6 +101,7 @@ public class RubikActivity extends AppCompatActivity
       mIsChinese = localeIsChinese();
 
       hideNavigationBar();
+      huaweiHack();
 
       // askForPermissions();
       }
@@ -108,14 +110,14 @@ public class RubikActivity extends AppCompatActivity
 
     private void hideNavigationBar()
       {
-      mCurrentApiVersion = android.os.Build.VERSION.SDK_INT;
+      mCurrentApiVersion = Build.VERSION.SDK_INT;
 
       if(mCurrentApiVersion >= Build.VERSION_CODES.KITKAT)
         {
-        getWindow().getDecorView().setSystemUiVisibility(FLAGS);
-
         final View decorView = getWindow().getDecorView();
 
+        decorView.setSystemUiVisibility(FLAGS);
+
         decorView.setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener()
           {
           @Override
@@ -130,6 +132,19 @@ public class RubikActivity extends AppCompatActivity
         }
       }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+// on some Huawei devices ( P40, P40 Pro, Mate 30 Pro, Mate 30, Nova 5T, P30 ) this has to be called
+// so that the App enters fullscreen mode. Otherwise there's a black bar at the top. See
+// https://forums.developer.huawei.com/forumPortal/en/topicview?tid=0201361898979080302&fid=0101246461018590361
+
+    private void huaweiHack()
+      {
+      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P)
+        {
+        getWindow().getAttributes().layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;
+        }
+      }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
     @Override
