[leanback] support boot

pull/171/head
FongMi 2 years ago
parent 843cd7865a
commit 4cb781d93e
  1. 2
      app/build.gradle
  2. 4
      app/src/leanback/AndroidManifest.xml
  3. 4
      app/src/leanback/java/com/fongmi/android/tv/receiver/BootReceiver.java
  4. 32
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  5. 4
      app/src/leanback/res/values/styles.xml

@ -11,7 +11,7 @@ android {
minSdk 21
targetSdk 28
versionCode 210
versionName "20231126#2"
versionName "20231126#3"
javaCompileOptions {
annotationProcessorOptions {
arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]

@ -104,7 +104,9 @@
<activity
android:name=".ui.activity.LiveActivity"
android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"
android:screenOrientation="sensorLandscape" />
android:exported="true"
android:screenOrientation="sensorLandscape"
android:theme="@style/AppTheme.Live" />
<activity
android:name=".ui.activity.VideoActivity"

@ -7,11 +7,15 @@ import android.content.Intent;
import com.android.cast.dlna.dmr.DLNARendererService;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.api.LiveConfig;
import com.fongmi.android.tv.bean.Config;
import com.fongmi.android.tv.impl.Callback;
public class BootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
DLNARendererService.Companion.start(App.get(), R.drawable.ic_logo);
LiveConfig.load(Config.live(), new Callback());
}
}

@ -30,6 +30,7 @@ import com.fongmi.android.tv.R;
import com.fongmi.android.tv.Setting;
import com.fongmi.android.tv.api.LiveConfig;
import com.fongmi.android.tv.bean.Channel;
import com.fongmi.android.tv.bean.Config;
import com.fongmi.android.tv.bean.Epg;
import com.fongmi.android.tv.bean.Group;
import com.fongmi.android.tv.bean.Keep;
@ -39,6 +40,7 @@ import com.fongmi.android.tv.databinding.ActivityLiveBinding;
import com.fongmi.android.tv.event.ActionEvent;
import com.fongmi.android.tv.event.ErrorEvent;
import com.fongmi.android.tv.event.PlayerEvent;
import com.fongmi.android.tv.impl.Callback;
import com.fongmi.android.tv.impl.LiveCallback;
import com.fongmi.android.tv.impl.PassCallback;
import com.fongmi.android.tv.impl.SubtitleCallback;
@ -95,7 +97,11 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
private int count;
public static void start(Context context) {
if (!LiveConfig.isEmpty()) context.startActivity(new Intent(context, LiveActivity.class).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
if (!LiveConfig.isEmpty()) context.startActivity(new Intent(context, LiveActivity.class).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK).putExtra("empty", false));
}
private boolean isEmpty() {
return getIntent().getBooleanExtra("empty", true);
}
private PlayerView getExo() {
@ -142,7 +148,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
setRecyclerView();
setVideoView();
setViewModel();
getLive();
checkLive();
}
@Override
@ -224,6 +230,28 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
});
}
private void checkLive() {
if (isEmpty()) {
LiveConfig.load(Config.live(), getCallback());
} else {
getLive();
}
}
private Callback getCallback() {
return new Callback() {
@Override
public void success() {
getLive();
}
@Override
public void error(String msg) {
Notify.show(msg);
}
};
}
private void getLive() {
mBinding.control.home.setText(getHome().getName());
mPlayers.setPlayer(getPlayerType(-1));

@ -2,6 +2,10 @@
<style name="AppTheme" parent="BaseTheme" />
<style name="AppTheme.Live" parent="AppTheme">
<item name="android:windowBackground">@color/black</item>
</style>
<style name="BaseTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primaryDark</item>

Loading…
Cancel
Save