Add null check for activity

pull/256/head
FongMi 2 years ago
parent e52e97a565
commit ab7e24d0fc
  1. 2
      app/src/main/java/com/fongmi/android/tv/player/extractor/Push.java
  2. 2
      app/src/main/java/com/fongmi/android/tv/ui/custom/CustomWebView.java
  3. 8
      app/src/mobile/java/com/fongmi/android/tv/Updater.java
  4. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/MainActivity.java
  5. 3
      app/src/mobile/java/com/fongmi/android/tv/ui/dialog/LinkDialog.java
  6. 4
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingFragment.java

@ -15,7 +15,7 @@ public class Push implements Source.Extractor {
@Override
public String fetch(String url) throws Exception {
VideoActivity.start(App.activity(), url.substring(7));
if (App.activity() != null) VideoActivity.start(App.activity(), url.substring(7));
SystemClock.sleep(500);
return "";
}

@ -140,7 +140,7 @@ public class CustomWebView extends WebView {
}
private void showDialog() {
if (dialog != null) return;
if (dialog != null || App.activity() == null) return;
if (getParent() != null) ((ViewGroup) getParent()).removeView(this);
dialog = new AlertDialog.Builder(App.activity()).setView(this).show();
}

@ -69,21 +69,21 @@ public class Updater implements Download.Callback {
return this;
}
public void start() {
App.execute(this::doInBackground);
public void start(Activity activity) {
App.execute(() -> doInBackground(activity));
}
private boolean need(int code, String name) {
return Setting.getUpdate() && (dev ? !name.equals(BuildConfig.VERSION_NAME) && code >= BuildConfig.VERSION_CODE : code > BuildConfig.VERSION_CODE);
}
private void doInBackground() {
private void doInBackground(Activity activity) {
try {
JSONObject object = new JSONObject(OkHttp.string(getJson()));
String name = object.optString("name");
String desc = object.optString("desc");
int code = object.optInt("code");
if (need(code, name)) App.post(() -> show(App.activity(), name, desc));
if (need(code, name)) App.post(() -> show(activity, name, desc));
} catch (Exception e) {
e.printStackTrace();
}

@ -64,8 +64,8 @@ public class MainActivity extends BaseActivity implements NavigationBarView.OnIt
@Override
protected void initView(Bundle savedInstanceState) {
Updater.get().release().start(this);
initFragment(savedInstanceState);
Updater.get().release().start();
Server.get().start();
initConfig();
}

@ -9,7 +9,6 @@ import android.view.inputmethod.EditorInfo;
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.Fragment;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.databinding.DialogLinkBinding;
import com.fongmi.android.tv.ui.activity.VideoActivity;
@ -65,7 +64,7 @@ public class LinkDialog {
private void onPositive(DialogInterface dialog, int which) {
String text = binding.text.getText().toString().trim();
if (!text.isEmpty()) VideoActivity.start(App.activity(), text);
if (!text.isEmpty()) VideoActivity.start(fragment.getActivity(), text);
dialog.dismiss();
}

@ -259,11 +259,11 @@ public class SettingFragment extends BaseFragment implements ConfigCallback, Sit
}
private void onVersion(View view) {
Updater.get().force().release().start();
Updater.get().force().release().start(getActivity());
}
private boolean onVersionDev(View view) {
Updater.get().force().dev().start();
Updater.get().force().dev().start(getActivity());
return true;
}

Loading…
Cancel
Save