This commit is contained in:
Jerry Yan 2020-02-26 21:42:29 +08:00
parent 3cdd22da9e
commit 9f34c2f521

View File

@ -1,15 +1,12 @@
package top.jerryyan.RN.A.FitFullScreen; package top.jerryyan.RN.A.FitFullScreen;
import android.graphics.Point;
import android.os.Build; import android.os.Build;
import android.provider.Settings; import android.provider.Settings;
import android.view.Display;
import android.view.WindowManager;
import com.facebook.react.bridge.Promise;
import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule; import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod; import com.facebook.react.bridge.ReactMethod;
import com.facebook.react.bridge.Callback;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@ -35,19 +32,6 @@ public class FitModule extends ReactContextBaseJavaModule {
return constants; return constants;
} }
private boolean _isVirtualNavigationBarExist(){
WindowManager windowManager = reactContext.getCurrentActivity().getWindowManager();
if(windowManager == null){
return false;
}
Display display = windowManager.getDefaultDisplay();
Point size = new Point();
Point realSize = new Point();
display.getSize(size); // app绘制区域
display.getRealSize(realSize);
return realSize.y != size.y;
}
private boolean _isXiaoMiFullScreen(){ private boolean _isXiaoMiFullScreen(){
return Settings.Global.getInt(reactContext.getContentResolver(), "force_fsg_nav_bar", 0) != 0; return Settings.Global.getInt(reactContext.getContentResolver(), "force_fsg_nav_bar", 0) != 0;
} }
@ -62,13 +46,10 @@ public class FitModule extends ReactContextBaseJavaModule {
} }
@ReactMethod @ReactMethod
public void checkFullScreen(Callback callback){ public void checkFullScreen(Promise promise){
if ("xiaomi".equalsIgnoreCase(MANUFACTURER)) { if ("xiaomi".equalsIgnoreCase(MANUFACTURER)) {
callback.invoke(_isXiaoMiFullScreen()); promise.resolve(_isXiaoMiFullScreen());
} }
} promise.reject("E");
@ReactMethod
public void isNavBarExist(Callback callback){
callback.invoke(_isVirtualNavigationBarExist());
} }
} }