pull/586/head
FongMi 1 year ago
parent 2860a12751
commit dcda82b0bb
  1. 22
      app/src/main/java/com/fongmi/android/tv/utils/ResUtil.java
  2. 6
      app/src/mobile/java/com/fongmi/android/tv/service/PlaybackService.java

@ -1,6 +1,5 @@
package com.fongmi.android.tv.utils;
import android.app.Activity;
import android.content.Context;
import android.content.res.Configuration;
import android.content.res.Resources;
@ -8,15 +7,10 @@ import android.content.res.TypedArray;
import android.graphics.Paint;
import android.graphics.Point;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.util.DisplayMetrics;
import android.util.TypedValue;
import android.view.Display;
import android.view.KeyCharacterMap;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.ViewConfiguration;
import android.view.WindowManager;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
@ -34,23 +28,13 @@ public class ResUtil {
return App.get().getResources().getDisplayMetrics();
}
public static WindowManager getWindowManager(Context context) {
return (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
}
public static boolean hasNavigationBar(Context context) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
Display display = getWindowManager(context).getDefaultDisplay();
Display display = getDisplay(context);
Point size = new Point();
Point realSize = new Point();
display.getSize(size);
display.getRealSize(realSize);
return realSize.x != size.x || realSize.y != size.y;
} else {
boolean menu = ViewConfiguration.get(context).hasPermanentMenuKey();
boolean back = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_BACK);
return !(menu || back);
}
}
public static int getNavigationBarHeight(Context context) {
@ -132,8 +116,8 @@ public class ResUtil {
return AnimationUtils.loadAnimation(App.get(), resId);
}
public static Display getDisplay(Activity activity) {
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.R ? activity.getDisplay() : activity.getWindowManager().getDefaultDisplay();
public static Display getDisplay(Context context) {
return ContextCompat.getDisplayOrDefault(context);
}
public static int getTextWidth(String content, int size) {

@ -3,8 +3,10 @@ package com.fongmi.android.tv.service;
import android.app.Notification;
import android.app.Service;
import android.content.Intent;
import android.content.pm.ServiceInfo;
import android.graphics.Bitmap;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.IBinder;
import android.support.v4.media.MediaMetadataCompat;
@ -14,6 +16,7 @@ import androidx.annotation.Nullable;
import androidx.annotation.StringRes;
import androidx.core.app.NotificationCompat;
import androidx.core.app.NotificationManagerCompat;
import androidx.core.app.ServiceCompat;
import androidx.core.content.ContextCompat;
import androidx.media.app.NotificationCompat.MediaStyle;
import androidx.media.session.MediaButtonReceiver;
@ -156,7 +159,8 @@ public class PlaybackService extends Service {
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if (nonNull()) MediaButtonReceiver.handleIntent(player.getSession(), intent);
startForeground(Notify.ID, buildNotification());
int type = Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q ? ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK : 0;
ServiceCompat.startForeground(this, Notify.ID, buildNotification(), type);
return START_NOT_STICKY;
}

Loading…
Cancel
Save