forked from Ivasoft/mattermost-mobile
* AppConfig support for iOS * AppConfig support for Android * Fix typo * Java feedback review
66 lines
1.9 KiB
Java
66 lines
1.9 KiB
Java
package com.mattermost.rnbeta;
|
|
|
|
import android.app.Application;
|
|
import android.content.Context;
|
|
import android.os.Bundle;
|
|
|
|
import com.facebook.react.bridge.Arguments;
|
|
import com.facebook.react.bridge.NativeModule;
|
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
import com.facebook.react.bridge.ReactContext;
|
|
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
|
import com.facebook.react.bridge.ReactMethod;
|
|
import com.facebook.react.bridge.Promise;
|
|
|
|
public class MattermostManagedModule extends ReactContextBaseJavaModule {
|
|
private static MattermostManagedModule instance;
|
|
|
|
private boolean shouldBlurAppScreen = false;
|
|
|
|
private MattermostManagedModule(ReactApplicationContext reactContext) {
|
|
super(reactContext);
|
|
}
|
|
|
|
public static MattermostManagedModule getInstance(ReactApplicationContext reactContext) {
|
|
if (instance == null) {
|
|
instance = new MattermostManagedModule(reactContext);
|
|
}
|
|
|
|
return instance;
|
|
}
|
|
|
|
public static MattermostManagedModule getInstance() {
|
|
return instance;
|
|
}
|
|
|
|
@Override
|
|
public String getName() {
|
|
return "MattermostManaged";
|
|
}
|
|
|
|
@ReactMethod
|
|
public void blurAppScreen(boolean enabled) {
|
|
shouldBlurAppScreen = enabled;
|
|
}
|
|
|
|
public boolean isBlurAppScreenEnabled() {
|
|
return shouldBlurAppScreen;
|
|
}
|
|
|
|
@ReactMethod
|
|
public void getConfig(final Promise promise) {
|
|
try {
|
|
Bundle config = NotificationsLifecycleFacade.getInstance().getManagedConfig();
|
|
|
|
if (config != null) {
|
|
Object result = Arguments.fromBundle(config);
|
|
promise.resolve(result);
|
|
} else {
|
|
throw new Exception("The MDM vendor has not sent any Managed configuration");
|
|
}
|
|
} catch (Exception e) {
|
|
promise.reject("no managed configuration", e);
|
|
}
|
|
}
|
|
}
|