From 6888f88f77672536133691ffcd854482580918c3 Mon Sep 17 00:00:00 2001
From: hyb1996 <946994919@qq.com>
Date: Sat, 8 Jul 2017 21:04:08 +0800
Subject: [PATCH] support sublime text command save_to_phone
---
.idea/misc.xml | 2 +-
.../floatingwindow/FloatingWindowManger.java | 90 -------------
.../floatingwindow/HoverMenuManger.java | 48 +++++++
.../OverlayPermissionChecker.java | 118 ------------------
.../floatingwindow/menu/HoverMenuService.java | 4 +-
.../sublime/SublimePluginClient.java | 2 +-
.../sublime/SublimeResponseHandler.java | 26 ++++
.../scriptdroid/ui/main/MainActivity.java | 5 +-
.../scriptdroid/ui/main/SideMenuFragment.java | 12 +-
.../scriptdroid/ui/splash/SplashActivity.java | 8 +-
app/src/main/res/values/strings.xml | 1 +
.../runtime/console/StardustConsole.java | 8 +-
common/build.gradle | 1 +
.../stardust/util/FloatingWindowUtils.java | 39 ------
14 files changed, 94 insertions(+), 270 deletions(-)
delete mode 100644 app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/FloatingWindowManger.java
create mode 100644 app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/HoverMenuManger.java
delete mode 100644 app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/OverlayPermissionChecker.java
delete mode 100644 common/src/main/java/com/stardust/util/FloatingWindowUtils.java
diff --git a/.idea/misc.xml b/.idea/misc.xml
index c69e71bb..274735b3 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -48,7 +48,7 @@
-
+
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/FloatingWindowManger.java b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/FloatingWindowManger.java
deleted file mode 100644
index b791c937..00000000
--- a/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/FloatingWindowManger.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package com.stardust.scriptdroid.external.floatingwindow;
-
-import android.content.Context;
-import android.content.Intent;
-import android.net.Uri;
-import android.os.Build;
-import android.preference.PreferenceManager;
-import android.provider.Settings;
-import android.support.annotation.RequiresApi;
-import android.util.Log;
-import android.widget.Toast;
-
-import com.stardust.scriptdroid.App;
-import com.stardust.scriptdroid.R;
-import com.stardust.scriptdroid.external.floatingwindow.menu.HoverMenuService;
-import com.stardust.util.IntentUtil;
-
-/**
- * Created by Stardust on 2017/3/10.
- */
-
-public class FloatingWindowManger {
-
- private static final String KEY_FLOATING_WINDOW_PERMISSION = "May we go back..I...miss..you..Eating..17.5.9";
- private static final String TAG = "FloatingWindowManger";
-
- public static void showHoverMenu() {
- if (!HoverMenuService.isServiceRunning()) {
- if (!hasFloatingWindowPermission(App.getApp())) {
- Toast.makeText(App.getApp(), R.string.text_no_floating_window_permission, Toast.LENGTH_SHORT).show();
- goToFloatingWindowPermissionSetting();
- } else {
- HoverMenuService.startService(App.getApp());
- }
- }
- }
-
- public static void goToFloatingWindowPermissionSetting() {
- IntentUtil.goToAppDetailSettings(App.getApp());
- }
-
- @RequiresApi(api = Build.VERSION_CODES.M)
- private static void goToOverlayPermissionSettings(Context context, String packageName) {
- try {
- App.getApp().startActivity(new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
- Uri.parse("package:" + context))
- .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
- } catch (Exception e) {
- IntentUtil.goToAppDetailSettings(App.getApp());
- }
- }
-
- public static void checkPermission() {
- final OverlayPermissionChecker checker = new OverlayPermissionChecker(App.getApp());
- checker.setCallback(new OverlayPermissionChecker.Callback() {
- @Override
- public void onCheckResult(boolean granted) {
- checker.setCallback(null);
- Log.d(TAG, "onCheckResult:" + granted);
- setHasFloatingWindowPermission(App.getApp(), granted);
- }
- });
- checker.check(1500);
- }
-
- public static boolean hasFloatingWindowPermission(Context context) {
- return hasOverlayPermission();
- }
-
- private static void setHasFloatingWindowPermission(Context context, boolean has) {
- PreferenceManager.getDefaultSharedPreferences(context).edit().putBoolean(KEY_FLOATING_WINDOW_PERMISSION, has).apply();
- }
-
- private static boolean hasOverlayPermission() {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- return Settings.canDrawOverlays(App.getApp());
- }
- return true;
- }
-
- public static boolean isHoverMenuShowing() {
- return HoverMenuService.isServiceRunning();
- }
-
-
- public static void hideHoverMenu() {
- if (HoverMenuService.isServiceRunning())
- App.getApp().stopService(new Intent(App.getApp(), HoverMenuService.class));
- }
-}
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/HoverMenuManger.java b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/HoverMenuManger.java
new file mode 100644
index 00000000..6d1bcf54
--- /dev/null
+++ b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/HoverMenuManger.java
@@ -0,0 +1,48 @@
+package com.stardust.scriptdroid.external.floatingwindow;
+
+import android.content.Context;
+import android.content.Intent;
+import android.net.Uri;
+import android.os.Build;
+import android.preference.PreferenceManager;
+import android.provider.Settings;
+import android.support.annotation.RequiresApi;
+import android.util.Log;
+import android.widget.Toast;
+
+import com.stardust.scriptdroid.App;
+import com.stardust.scriptdroid.R;
+import com.stardust.scriptdroid.external.floatingwindow.menu.HoverMenuService;
+import com.stardust.util.IntentUtil;
+
+import ezy.assist.compat.SettingsCompat;
+
+/**
+ * Created by Stardust on 2017/3/10.
+ */
+
+public class HoverMenuManger {
+
+ private static final String KEY_FLOATING_WINDOW_PERMISSION = "May we go back..I...miss..you..Eating..17.5.9";
+ private static final String TAG = "HoverMenuManger";
+
+ public static void showHoverMenu() {
+ if (!HoverMenuService.isServiceRunning()) {
+ if (!SettingsCompat.canDrawOverlays(App.getApp())) {
+ Toast.makeText(App.getApp(), R.string.text_no_floating_window_permission, Toast.LENGTH_SHORT).show();
+ SettingsCompat.manageDrawOverlays(App.getApp());
+ } else {
+ HoverMenuService.startService(App.getApp());
+ }
+ }
+ }
+
+ public static boolean isHoverMenuShowing() {
+ return HoverMenuService.isServiceRunning();
+ }
+
+
+ public static void hideHoverMenu() {
+ App.getApp().stopService(new Intent(App.getApp(), HoverMenuService.class));
+ }
+}
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/OverlayPermissionChecker.java b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/OverlayPermissionChecker.java
deleted file mode 100644
index 39c149b0..00000000
--- a/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/OverlayPermissionChecker.java
+++ /dev/null
@@ -1,118 +0,0 @@
-package com.stardust.scriptdroid.external.floatingwindow;
-
-import android.content.Context;
-import android.content.Intent;
-import android.graphics.Canvas;
-import android.graphics.Color;
-import android.graphics.PixelFormat;
-import android.os.Handler;
-import android.view.Gravity;
-import android.view.View;
-import android.view.WindowManager;
-
-import com.stardust.enhancedfloaty.FloatyService;
-import com.stardust.enhancedfloaty.FloatyWindow;
-
-/**
- * Created by Stardust on 2017/5/9.
- */
-
-public class OverlayPermissionChecker {
-
- public interface Callback {
- void onCheckResult(boolean granted);
- }
-
- private OnePixelWindow mOnePixelWindow = new OnePixelWindow();
- private Callback mCallback;
- private Context mContext;
- private Handler mHandler;
- private Boolean mCheckResult = null;
-
- public OverlayPermissionChecker(Context context) {
- mContext = context;
- mHandler = new Handler(context.getMainLooper());
- }
-
- public void check() {
- mCheckResult = null;
- try {
- FloatyService.addWindow(mOnePixelWindow);
- mContext.startService(new Intent(mContext, FloatyService.class));
- } catch (WindowManager.BadTokenException e) {
- onCheckResult(false);
- }
- }
-
- public void check(int timeOut) {
- check();
- mHandler.postDelayed(new Runnable() {
- @Override
- public void run() {
- if (mCheckResult == null) {
- onCheckResult(false);
- }
- }
- }, timeOut);
- }
-
- public void setCallback(Callback callback) {
- mCallback = callback;
- }
-
- private void onCheckResult(boolean b) {
- mCheckResult = b;
- if (mCallback != null) {
- mCallback.onCheckResult(b);
- }
- }
-
-
- private class OnePixelWindow implements FloatyWindow {
-
- private View mOnePixelView;
- private WindowManager mWindowManager;
-
- @Override
- public void onCreate(FloatyService floatyService, WindowManager windowManager) {
- mWindowManager = windowManager;
- mOnePixelView = new View(floatyService) {
- @Override
- protected void onDraw(Canvas canvas) {
- super.onDraw(canvas);
- notifyWindowVisible();
- }
-
- @Override
- protected void onWindowVisibilityChanged(int visibility) {
- super.onWindowVisibilityChanged(visibility);
- }
- };
- mOnePixelView.setWillNotDraw(false);
- mOnePixelView.setBackgroundColor(Color.RED);
- WindowManager.LayoutParams params = new WindowManager.LayoutParams(10, 10,
- WindowManager.LayoutParams.TYPE_SYSTEM_ALERT,
- WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE,
- PixelFormat.TRANSLUCENT);
- params.gravity = Gravity.TOP | Gravity.START;
- windowManager.addView(mOnePixelView, params);
- }
-
- private void notifyWindowVisible() {
- onCheckResult(true);
- //close();
- }
-
- @Override
- public void onServiceDestroy(FloatyService floatyService) {
- close();
- }
-
- @Override
- public void close() {
- mWindowManager.removeView(mOnePixelView);
- FloatyService.removeWindow(this);
- }
- }
-
-}
diff --git a/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/HoverMenuService.java b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/HoverMenuService.java
index 213e1a60..aa265fcb 100644
--- a/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/HoverMenuService.java
+++ b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/HoverMenuService.java
@@ -17,7 +17,6 @@ import com.stardust.hover.SimpleHoverMenuTransitionListener;
import com.stardust.hover.WindowHoverMenu;
import com.stardust.scriptdroid.R;
import com.stardust.scriptdroid.autojs.AutoJs;
-import com.stardust.scriptdroid.external.floatingwindow.FloatingWindowManger;
import com.stardust.scriptdroid.external.floatingwindow.menu.layout_inspector.NodeInfo;
import com.stardust.scriptdroid.external.floatingwindow.menu.view.FloatingLayoutBoundsView;
import com.stardust.scriptdroid.external.floatingwindow.menu.view.FloatingLayoutHierarchyView;
@@ -29,6 +28,7 @@ import com.stardust.util.MessageIntent;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
+import ezy.assist.compat.SettingsCompat;
import io.mattcarroll.hover.HoverMenu;
import io.mattcarroll.hover.defaulthovermenu.window.WindowViewController;
@@ -129,7 +129,7 @@ public class HoverMenuService extends Service {
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(this, R.string.text_no_floating_window_permission, Toast.LENGTH_SHORT).show();
- FloatingWindowManger.goToFloatingWindowPermissionSetting();
+ SettingsCompat.manageDrawOverlays(this);
}
}
diff --git a/app/src/main/java/com/stardust/scriptdroid/sublime/SublimePluginClient.java b/app/src/main/java/com/stardust/scriptdroid/sublime/SublimePluginClient.java
index a24768bd..1a6a28e8 100644
--- a/app/src/main/java/com/stardust/scriptdroid/sublime/SublimePluginClient.java
+++ b/app/src/main/java/com/stardust/scriptdroid/sublime/SublimePluginClient.java
@@ -76,7 +76,7 @@ public class SublimePluginClient {
private void tryClose() {
try {
close();
- } catch (IOException e) {
+ } catch (Exception e) {
e.printStackTrace();
}
}
diff --git a/app/src/main/java/com/stardust/scriptdroid/sublime/SublimeResponseHandler.java b/app/src/main/java/com/stardust/scriptdroid/sublime/SublimeResponseHandler.java
index 7179aaed..6d514df2 100644
--- a/app/src/main/java/com/stardust/scriptdroid/sublime/SublimeResponseHandler.java
+++ b/app/src/main/java/com/stardust/scriptdroid/sublime/SublimeResponseHandler.java
@@ -9,8 +9,11 @@ import com.google.gson.JsonObject;
import com.stardust.autojs.execution.ScriptExecution;
import com.stardust.autojs.script.StringScriptSource;
import com.stardust.pio.PFile;
+import com.stardust.scriptdroid.App;
+import com.stardust.scriptdroid.R;
import com.stardust.scriptdroid.autojs.AutoJs;
import com.stardust.scriptdroid.script.Scripts;
+import com.stardust.scriptdroid.script.StorageScriptProvider;
/**
* Created by Stardust on 2017/5/11.
@@ -39,6 +42,15 @@ public class SublimeResponseHandler implements Handler {
return true;
}
})
+ .handler("save", new Handler() {
+ @Override
+ public boolean handle(JsonObject data) {
+ String script = data.get("script").getAsString();
+ String name = getName(data);
+ saveScript(name, script);
+ return false;
+ }
+ })
.handler("rerun", new Handler() {
@Override
@@ -91,4 +103,18 @@ public class SublimeResponseHandler implements Handler {
}
return element.getAsString();
}
+
+ private void saveScript(String name, String script) {
+ if (TextUtils.isEmpty(name)) {
+ name = "untitled";
+ }
+ name = PFile.getNameWithoutExtension(name);
+ if (!name.endsWith(".js")) {
+ name = "" + name + ".js";
+ } else {
+ name = "" + name;
+ }
+ PFile.write(StorageScriptProvider.DEFAULT_DIRECTORY_PATH + name, script);
+ App.getApp().getUiHandler().toast(R.string.text_script_save_successfully);
+ }
}
diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/main/MainActivity.java b/app/src/main/java/com/stardust/scriptdroid/ui/main/MainActivity.java
index 221619cc..a627887f 100644
--- a/app/src/main/java/com/stardust/scriptdroid/ui/main/MainActivity.java
+++ b/app/src/main/java/com/stardust/scriptdroid/ui/main/MainActivity.java
@@ -34,7 +34,7 @@ import com.stardust.scriptdroid.BuildConfig;
import com.stardust.scriptdroid.Pref;
import com.stardust.scriptdroid.R;
import com.stardust.scriptdroid.autojs.AutoJs;
-import com.stardust.scriptdroid.external.floatingwindow.FloatingWindowManger;
+import com.stardust.scriptdroid.external.floatingwindow.HoverMenuManger;
import com.stardust.scriptdroid.script.ScriptFile;
import com.stardust.scriptdroid.script.StorageScriptProvider;
import com.stardust.scriptdroid.script.sample.Sample;
@@ -46,7 +46,6 @@ import com.stardust.scriptdroid.ui.BaseActivity;
import com.stardust.scriptdroid.ui.main.sample_list.SampleScriptListFragment;
import com.stardust.scriptdroid.ui.main.script_list.MyScriptListFragment;
import com.stardust.scriptdroid.ui.main.script_list.ScriptFileChooserDialogBuilder;
-import com.stardust.scriptdroid.ui.main.task.TaskManagerFragment;
import com.stardust.scriptdroid.ui.settings.SettingsActivity_;
import com.stardust.scriptdroid.ui.update.VersionGuard;
import com.stardust.theme.dialog.ThemeColorMaterialDialogBuilder;
@@ -275,7 +274,7 @@ public class MainActivity extends BaseActivity implements OnActivityResultDelega
@Click(R.id.exit)
public void exitCompletely() {
- FloatingWindowManger.hideHoverMenu();
+ HoverMenuManger.hideHoverMenu();
stopService(new Intent(this, FloatyService.class));
AutoJs.getInstance().getScriptEngineService().stopAll();
finish();
diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/main/SideMenuFragment.java b/app/src/main/java/com/stardust/scriptdroid/ui/main/SideMenuFragment.java
index fcb5599e..883f1716 100644
--- a/app/src/main/java/com/stardust/scriptdroid/ui/main/SideMenuFragment.java
+++ b/app/src/main/java/com/stardust/scriptdroid/ui/main/SideMenuFragment.java
@@ -15,7 +15,7 @@ import com.stardust.scriptdroid.App;
import com.stardust.scriptdroid.Pref;
import com.stardust.scriptdroid.R;
import com.stardust.scriptdroid.autojs.AutoJs;
-import com.stardust.scriptdroid.external.floatingwindow.FloatingWindowManger;
+import com.stardust.scriptdroid.external.floatingwindow.HoverMenuManger;
import com.stardust.scriptdroid.external.floatingwindow.menu.HoverMenuService;
import com.stardust.view.accessibility.AccessibilityService;
import com.stardust.scriptdroid.sublime.SublimePluginClient;
@@ -89,7 +89,7 @@ public class SideMenuFragment extends android.support.v4.app.Fragment {
});
}
}, 450);
- mFloatingWindowSwitch.setChecked(FloatingWindowManger.isHoverMenuShowing());
+ mFloatingWindowSwitch.setChecked(HoverMenuManger.isHoverMenuShowing());
}
@@ -122,10 +122,10 @@ public class SideMenuFragment extends android.support.v4.app.Fragment {
@CheckedChange(R.id.sw_floating_window)
void setFloatingWindowEnable(CompoundButton button, boolean enable) {
- if (enable && !FloatingWindowManger.isHoverMenuShowing()) {
- FloatingWindowManger.showHoverMenu();
- } else if (!enable && FloatingWindowManger.isHoverMenuShowing()) {
- FloatingWindowManger.hideHoverMenu();
+ if (enable && !HoverMenuManger.isHoverMenuShowing()) {
+ HoverMenuManger.showHoverMenu();
+ } else if (!enable && HoverMenuManger.isHoverMenuShowing()) {
+ HoverMenuManger.hideHoverMenu();
}
}
diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/splash/SplashActivity.java b/app/src/main/java/com/stardust/scriptdroid/ui/splash/SplashActivity.java
index 460dcd44..2ebb6a1b 100644
--- a/app/src/main/java/com/stardust/scriptdroid/ui/splash/SplashActivity.java
+++ b/app/src/main/java/com/stardust/scriptdroid/ui/splash/SplashActivity.java
@@ -51,20 +51,16 @@ public class SplashActivity extends BaseActivity {
private SplashAD mSplashAD;
private boolean mCanEnterNextActivity = false;
private boolean mNotStartMainActivity;
- private boolean mForceShowAd = false;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mNotStartMainActivity = getIntent().getBooleanExtra(NOT_START_MAIN_ACTIVITY, false);
- mForceShowAd = getIntent().getBooleanExtra(FORCE_SHOW_AD, false);
- if (!mForceShowAd && !Pref.shouldShowAd()) {
+ boolean forceShowAd = getIntent().getBooleanExtra(FORCE_SHOW_AD, false);
+ if (!forceShowAd && !Pref.shouldShowAd()) {
enterNextActivity();
return;
}
- if (Pref.isFirstShowingAd()) {
- Toast.makeText(this, R.string.text_can_close_ad_in_settings, Toast.LENGTH_SHORT).show();
- }
checkPermission(Manifest.permission.READ_PHONE_STATE, Manifest.permission.WRITE_EXTERNAL_STORAGE);
}
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index ce20eb9a..75323503 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -197,6 +197,7 @@
欣赏广告
广告显示设置
Default
+ 保存成功,请刷新目录
- 无
diff --git a/autojs/src/main/java/com/stardust/autojs/runtime/console/StardustConsole.java b/autojs/src/main/java/com/stardust/autojs/runtime/console/StardustConsole.java
index f65f986e..4ddc063d 100644
--- a/autojs/src/main/java/com/stardust/autojs/runtime/console/StardustConsole.java
+++ b/autojs/src/main/java/com/stardust/autojs/runtime/console/StardustConsole.java
@@ -11,8 +11,6 @@ import com.stardust.autojs.runtime.api.AbstractConsole;
import com.stardust.autojs.runtime.api.Console;
import com.stardust.enhancedfloaty.FloatyService;
import com.stardust.enhancedfloaty.ResizableExpandableFloatyWindow;
-import com.stardust.util.FloatingWindowUtils;
-import com.stardust.util.IntentUtil;
import com.stardust.util.UiHandler;
import com.stardust.autojs.R;
@@ -21,6 +19,8 @@ import java.util.List;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
+import ezy.assist.compat.SettingsCompat;
+
/**
* Created by Stardust on 2017/5/2.
*/
@@ -123,8 +123,8 @@ public class StardustConsole extends AbstractConsole {
@Override
public void show() {
- if (!FloatingWindowUtils.hasOverlayPermission(mUiHandler.getContext())) {
- IntentUtil.goToAppDetailSettings(mUiHandler.getContext());
+ if (!SettingsCompat.canDrawOverlays(mUiHandler.getContext())) {
+ SettingsCompat.manageDrawOverlays(mUiHandler.getContext());
mUiHandler.toast(R.string.text_no_floating_window_permission);
}
startFloatyService();
diff --git a/common/build.gradle b/common/build.gradle
index 61823d10..f7922b39 100644
--- a/common/build.gradle
+++ b/common/build.gradle
@@ -27,4 +27,5 @@ dependencies {
})
testCompile 'junit:junit:4.12'
compile 'com.android.support:support-annotations:25.3.1'
+ compile 'com.github.czy1121:settingscompat:1.1.4'
}
diff --git a/common/src/main/java/com/stardust/util/FloatingWindowUtils.java b/common/src/main/java/com/stardust/util/FloatingWindowUtils.java
deleted file mode 100644
index 3a69429c..00000000
--- a/common/src/main/java/com/stardust/util/FloatingWindowUtils.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.stardust.util;
-
-import android.Manifest;
-import android.content.Context;
-import android.content.pm.PackageManager;
-import android.os.Build;
-import android.provider.Settings;
-import android.widget.Toast;
-
-/**
- * Created by Stardust on 2017/3/10.
- */
-
-public class FloatingWindowUtils {
-
- public static boolean checkFloatingWindowPermission(Context context, int messageResId) {
- if (!hasOverlayPermission(context)) {
- Toast.makeText(context, messageResId, Toast.LENGTH_SHORT).show();
- IntentUtil.goToAppDetailSettings(context, context.getPackageName());
- return false;
- }
- return true;
- }
-
-
-
- public static boolean isFloatingWindowPermitted(Context context) {
- PackageManager pm = context.getPackageManager();
- return pm.checkPermission(Manifest.permission.SYSTEM_ALERT_WINDOW, context.getPackageName())
- == PackageManager.PERMISSION_GRANTED;
- }
-
- public static boolean hasOverlayPermission(Context context) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- return Settings.canDrawOverlays(context);
- }
- return true;
- }
-}