Use full screen and show progress when change url

pull/1/head
FongMi 4 years ago
parent 3c67461a8c
commit c7d1e8abd3
  1. 17
      app/src/main/java/com/fongmi/bear/ui/activity/BaseActivity.java
  2. 3
      app/src/main/java/com/fongmi/bear/ui/activity/SettingActivity.java
  3. 8
      app/src/main/java/com/fongmi/bear/ui/custom/SpaceItemDecoration.java
  4. 17
      app/src/main/java/com/fongmi/bear/utils/Notify.java
  5. 6
      app/src/main/java/com/fongmi/bear/utils/Utils.java
  6. 2
      app/src/main/java/com/github/catvod/crawler/JarLoader.java
  7. 7
      app/src/main/res/layout/dialog_progress.xml
  8. 1
      app/src/main/res/values/styles.xml
  9. 4
      settings.gradle

@ -1,15 +1,11 @@
package com.fongmi.bear.ui.activity;
import android.app.Activity;
import android.content.res.Configuration;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.viewbinding.ViewBinding;
import com.fongmi.bear.utils.Utils;
public abstract class BaseActivity extends AppCompatActivity {
protected abstract ViewBinding getBinding();
@ -18,7 +14,6 @@ public abstract class BaseActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(getBinding().getRoot());
Utils.hideSystemUI(this);
initView();
initEvent();
}
@ -32,16 +27,4 @@ public abstract class BaseActivity extends AppCompatActivity {
protected void initEvent() {
}
@Override
public void onConfigurationChanged(@NonNull Configuration newConfig) {
super.onConfigurationChanged(newConfig);
Utils.hideSystemUI(this);
}
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus) Utils.hideSystemUI(this);
}
}

@ -44,16 +44,17 @@ public class SettingActivity extends BaseActivity {
Notify.show(this, bindingDialog.getRoot(), (dialogInterface, i) -> {
Prefers.put("url", bindingDialog.url.getText().toString().trim());
binding.url.setText(Prefers.getUrl());
Notify.progress(this);
reloadConfig();
});
}
//TODO SHOW PROGRESS
private void reloadConfig() {
ApiConfig.get().loadConfig(new Callback() {
@Override
public void success() {
setResult(RESULT_OK);
Notify.dismiss();
}
@Override

@ -10,10 +10,10 @@ import com.fongmi.bear.utils.ResUtil;
public class SpaceItemDecoration extends RecyclerView.ItemDecoration {
private boolean includeEdge;
private int spanCount;
private int spacing;
private int headerNum;
private final boolean includeEdge;
private final int spanCount;
private final int spacing;
private final int headerNum;
public SpaceItemDecoration(int spanCount, int spacing, boolean includeEdge, int headerNum) {
this.spanCount = spanCount;

@ -2,6 +2,7 @@ package com.fongmi.bear.utils;
import android.content.Context;
import android.content.DialogInterface;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Toast;
@ -9,11 +10,13 @@ import androidx.appcompat.app.AlertDialog;
import com.fongmi.bear.App;
import com.fongmi.bear.R;
import com.fongmi.bear.databinding.DialogProgressBinding;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
public class Notify {
private Toast mToast;
private AlertDialog mProgress;
private static class Loader {
static volatile Notify INSTANCE = new Notify();
@ -32,14 +35,26 @@ public class Notify {
}
public static void show(Context context, View view, DialogInterface.OnClickListener listener) {
AlertDialog dialog = new MaterialAlertDialogBuilder(context).setView(view).setNegativeButton(R.string.dialog_negative, null).setPositiveButton(R.string.dialog_positive, listener).show();
AlertDialog dialog = new MaterialAlertDialogBuilder(context).setView(view).setNegativeButton(R.string.dialog_negative, null).setPositiveButton(R.string.dialog_positive, listener).create();
dialog.getWindow().setDimAmount(0);
dialog.show();
}
public static void progress(Context context) {
DialogProgressBinding binding = DialogProgressBinding.inflate(LayoutInflater.from(context));
get().mProgress = new MaterialAlertDialogBuilder(context).setView(binding.getRoot()).create();
get().mProgress.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
get().mProgress.show();
}
public static void dismiss() {
if (get().mProgress != null && get().mProgress.isShowing()) get().mProgress.dismiss();
}
private void makeText(String message) {
if (mToast != null) mToast.cancel();
mToast = Toast.makeText(App.get(), message, Toast.LENGTH_LONG);
mToast.show();
dismiss();
}
}

@ -7,7 +7,6 @@ import android.os.Build;
import android.provider.Settings;
import android.util.Rational;
import android.view.KeyEvent;
import android.view.View;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
@ -66,11 +65,6 @@ public class Utils {
Glide.with(App.get()).load(url).transform(new CenterCrop(), new RoundedCorners(ResUtil.dp2px(8))).into(view);
}
public static void hideSystemUI(Activity activity) {
int flags = View.SYSTEM_UI_FLAG_LOW_PROFILE | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
activity.getWindow().getDecorView().setSystemUiVisibility(flags);
}
public static boolean hasPIP() {
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && App.get().getPackageManager().hasSystemFeature(PackageManager.FEATURE_PICTURE_IN_PICTURE);
}

@ -73,7 +73,7 @@ public class JarLoader {
public Spider getSpider(String key, String ext) {
String clsKey = key.replace("csp_", "");
if (spiders.contains(clsKey)) return spiders.get(clsKey);
if (spiders.containsKey(clsKey)) return spiders.get(clsKey);
if (classLoader == null) return new SpiderNull();
try {
Spider spider = (Spider) classLoader.loadClass("com.github.catvod.spider." + clsKey).newInstance();

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<ProgressBar xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/progress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:indeterminateTint="@color/white" />

@ -8,6 +8,7 @@
<item name="colorAccent">@color/blue_500</item>
<item name="android:windowAnimationStyle">@null</item>
<item name="android:windowBackground">@drawable/wallpaper_1</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
</style>

@ -1,15 +1,15 @@
pluginManagement {
repositories {
gradlePluginPortal()
google()
mavenCentral()
google()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
google()
}
}
rootProject.name = "BearTV"

Loading…
Cancel
Save