fix(target O): floating window cannot be shown

This commit is contained in:
hyb1996
2018-10-06 11:16:27 +08:00
parent 0ff7b1c208
commit 54cbb78d8e
6 changed files with 37 additions and 8 deletions

View File

@@ -291,14 +291,14 @@ public class ScriptOperations {
}
public void delete(final ScriptFile scriptFile) {
new ThemeColorMaterialDialogBuilder(mContext)
DialogUtils.showDialog(new ThemeColorMaterialDialogBuilder(mContext)
.title(mContext.getString(R.string.text_are_you_sure_to_delete, scriptFile.getName()))
.positiveText(R.string.cancel)
.negativeText(R.string.ok)
.onNegative((dialog, which) -> {
deleteWithoutConfirm(scriptFile);
})
.show();
.build());
}

View File

@@ -3,6 +3,7 @@ package org.autojs.autojs.ui.floating;
import android.content.Context;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import android.view.Gravity;
import android.view.OrientationEventListener;
import android.view.View;
import android.view.WindowManager;
@@ -94,8 +95,10 @@ public class CircularMenuWindow implements FloatyWindow {
}
private WindowManager.LayoutParams createWindowLayoutParams() {
WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams(-2, -2, 2003, 520, -3);
layoutParams.gravity = 51;
WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT,
FloatyWindowManger.getWindowType(), 520, -3);
layoutParams.gravity = Gravity.LEFT | Gravity.TOP;
return layoutParams;
}

View File

@@ -2,6 +2,8 @@ package org.autojs.autojs.ui.floating;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.view.WindowManager;
import android.widget.Toast;
import com.stardust.app.GlobalAppContext;
@@ -9,9 +11,11 @@ import com.stardust.autojs.util.FloatingPermission;
import com.stardust.enhancedfloaty.FloatyService;
import com.stardust.enhancedfloaty.FloatyWindow;
import com.stardust.enhancedfloaty.util.FloatingWindowPermissionUtil;
import org.autojs.autojs.App;
import org.autojs.autojs.R;
import org.autojs.autojs.ui.floating.CircularMenu;
import com.stardust.util.IntentUtil;
import java.lang.ref.WeakReference;
@@ -74,4 +78,12 @@ public class FloatyWindowManger {
menu.close();
sCircularMenu = null;
}
public static int getWindowType() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
return WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;
} else {
return WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;
}
}
}