obtain the proper activity reference in the utility module #238

Merged
akinwale merged 1 commit from hide-navigation-bar-fix into master 2018-08-16 20:27:55 +02:00
2 changed files with 31 additions and 12 deletions

View file

@ -36,6 +36,8 @@ import java.util.Random;
public class MainActivity extends Activity implements DefaultHardwareBackBtnHandler {
private static Activity currentActivity = null;
private static final int OVERLAY_PERMISSION_REQ_CODE = 101;
private static final int STORAGE_PERMISSION_REQ_CODE = 201;
@ -75,6 +77,7 @@ public class MainActivity extends Activity implements DefaultHardwareBackBtnHand
}
super.onCreate(savedInstanceState);
currentActivity = this;
// Start the daemon service if it is not started
serviceRunning = isServiceRunning(LbrynetService.class);
@ -110,6 +113,12 @@ public class MainActivity extends Activity implements DefaultHardwareBackBtnHand
}
}
public static Activity getActivity() {
Activity activity = new Activity();
activity = currentActivity;
return activity;
}
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
switch (requestCode) {

View file

@ -56,23 +56,33 @@ public class UtilityModule extends ReactContextBaseJavaModule {
@ReactMethod
public void hideNavigationBar() {
if (context != null && context instanceof Activity) {
Activity activity = (Activity) context;
View decorView = activity.getWindow().getDecorView();
decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
View.SYSTEM_UI_FLAG_IMMERSIVE |
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |
View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
final Activity activity = MainActivity.getActivity();
if (activity != null) {
activity.runOnUiThread(new Runnable() {
public void run() {
View decorView = activity.getWindow().getDecorView();
decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY |
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN |
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |
View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
}
});
}
}
@ReactMethod
public void showNavigationBar() {
if (context != null && context instanceof Activity) {
Activity activity = (Activity) context;
View decorView = activity.getWindow().getDecorView();
decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
View.SYSTEM_UI_FLAG_VISIBLE);
final Activity activity = MainActivity.getActivity();
if (activity != null) {
activity.runOnUiThread(new Runnable() {
public void run() {
View decorView = activity.getWindow().getDecorView();
decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
View.SYSTEM_UI_FLAG_VISIBLE);
}
});
}
}