package com.demo.library_flutter.message;
|
|
import android.content.Context;
|
import android.content.SharedPreferences;
|
import android.widget.Toast;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.idlefish.flutterboost.FlutterBoost;
|
import com.jaeger.library.StatusBarUtil;
|
|
import java.util.Map;
|
|
import androidx.annotation.NonNull;
|
import io.flutter.plugin.common.BinaryMessenger;
|
import io.flutter.plugin.common.MethodCall;
|
import io.flutter.plugin.common.MethodChannel;
|
import io.flutter.plugin.common.MethodCodec;
|
import io.flutter.plugin.common.StandardMessageCodec;
|
|
public class UIMethodChannel extends MethodChannel {
|
public UIMethodChannel(BinaryMessenger messenger, Context context, DataListener dataListener) {
|
super(messenger, "com.yeshi.video/ui", (MethodCodec) StandardMessageCodec.INSTANCE);
|
setMethodCallHandler(new MethodCallHandler() {
|
@Override
|
public void onMethodCall(@NonNull MethodCall call, @NonNull Result result) {
|
|
switch (call.method) {
|
case "toast": {
|
Toast.makeText(context, call.arguments + "", Toast.LENGTH_SHORT).show();
|
}
|
break;
|
|
case "setStatusBarLight": {
|
StatusBarUtil.setLightMode(FlutterBoost.instance().currentActivity());
|
}
|
break;
|
|
case "setStatusBarDark": {
|
StatusBarUtil.setDarkMode(FlutterBoost.instance().currentActivity());
|
}
|
break;
|
case "setStatusBarDefault":
|
if (dataListener.isStatusBarDefaultLight()) {
|
StatusBarUtil.setLightMode(FlutterBoost.instance().currentActivity());
|
} else {
|
StatusBarUtil.setDarkMode(FlutterBoost.instance().currentActivity());
|
}
|
break;
|
}
|
}
|
});
|
}
|
|
public interface DataListener {
|
//状态栏是否默认浅色
|
public boolean isStatusBarDefaultLight();
|
}
|
}
|