Signed-off-by: dom <githubaccount56556@proton.me>
This commit is contained in:
dom
2026-05-31 11:05:30 +08:00
parent b3e2dcf2c5
commit bee04fb2b0
17 changed files with 520 additions and 523 deletions

View File

@@ -19,8 +19,11 @@ import android.os.Build;
import android.provider.MediaStore;
import android.provider.Settings;
import android.view.WindowManager;
import androidx.annotation.Keep;
import com.github.dart_lang.jni_flutter.JniFlutterPlugin;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
@@ -29,6 +32,10 @@ import java.util.ArrayList;
public final class AndroidHelper {
public static volatile boolean isFoldable = false;
public static volatile boolean isPipMode = false;
public static volatile boolean isPipAvailable = false;
private AndroidHelper() {
}
@@ -36,6 +43,10 @@ public final class AndroidHelper {
return JniFlutterPlugin.getApplicationContext();
}
public static int sdkInt() {
return Build.VERSION.SDK_INT;
}
public static void back() {
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);

View File

@@ -48,12 +48,17 @@ class MainActivity : AudioServiceActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
window.attributes.layoutInDisplayCutoutMode = LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
window.attributes.layoutInDisplayCutoutMode =
LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
}
AndroidHelper.isPipAvailable =
packageManager.hasSystemFeature(PackageManager.FEATURE_PICTURE_IN_PICTURE)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
try {
AndroidHelper.isFoldable = packageManager.hasSystemFeature(PackageManager.FEATURE_SENSOR_HINGE_ANGLE)
AndroidHelper.isFoldable =
packageManager.hasSystemFeature(PackageManager.FEATURE_SENSOR_HINGE_ANGLE)
} catch (_: Exception) {
}
}
@@ -73,8 +78,6 @@ class MainActivity : AudioServiceActivity() {
isInPictureInPictureMode: Boolean, newConfig: Configuration?
) {
super.onPictureInPictureModeChanged(isInPictureInPictureMode, newConfig)
MethodChannel(flutterEngine!!.dartExecutor.binaryMessenger, "floating").invokeMethod(
"onPipChanged", isInPictureInPictureMode
)
AndroidHelper.isPipMode = isInPictureInPictureMode
}
}