更新TBS服务sdk
更新广点通sdk
更新友盟sdk
更新glide框架
修复mod页面低栏在全面屏异常显示问题
修复Android10闪退问题
允许在没有权限的情况下使用盒子
将jianRMG文件夹移至私有目录中
This commit is contained in:
2019-11-18 16:01:01 +08:00
parent d20e3b04ae
commit 73274d6b8d
89 changed files with 558 additions and 334 deletions

View File

@@ -2,7 +2,7 @@ package Interfaces;
import android.content.Context;
import android.os.Bundle;
import android.support.annotation.Nullable;
import androidx.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

View File

@@ -2,7 +2,7 @@ package com.yutou.jianr_mg.Adapters;
import android.content.Context;
import android.content.Intent;
import android.support.v7.widget.PopupMenu;
import androidx.appcompat.widget.PopupMenu;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -16,7 +16,6 @@ import com.yutou.jianr_mg.Data.TMod;
import com.yutou.jianr_mg.Data.TModtype;
import com.yutou.jianr_mg.Data.ZsShipType;
import com.yutou.jianr_mg.Interfaces.HttpInterface;
import com.yutou.jianr_mg.Interfaces.ModInterface;
import com.yutou.jianr_mg.Network.HttpApi;
import com.yutou.jianr_mg.Network.HttpUtils;
import com.yutou.jianr_mg.R;
@@ -141,7 +140,12 @@ public class ModRecyclerAdapter extends RecyclerAdapter<TMod> {
@Override
public void setData(TMod data) {
super.setData(data);
imageLoader.displayImage(AppData.appConfig.getDownloadhome() + data.getIcon(), icon);
try {
imageLoader.displayImage(AppData.appConfig.getDownloadhome() + data.getIcon(), icon);
}catch (Exception e){
e.printStackTrace();
}
title.setText(data.getTitle());
}

View File

@@ -1,8 +1,8 @@
package com.yutou.jianr_mg.Adapters;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter;
import java.util.List;

View File

@@ -110,7 +110,8 @@ public class Application extends android.app.Application {
Log.e("QDSDK", "加载内核是否成功:" + b);
}
});
} catch (Exception ignored) {
} catch (Exception e) {
e.printStackTrace();
}
}

View File

@@ -4,7 +4,7 @@ import android.Manifest;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.Build;
import android.support.v4.app.ActivityCompat;
import androidx.core.app.ActivityCompat;
import android.telephony.TelephonyManager;
import com.yutou.jianr_mg.Application;
@@ -25,7 +25,7 @@ public class SystemData {
public SystemData() {
if (Utils.getApplicationPackName(Application.application, AppData.magicPackageName)
|| new File(Utils.getSDCardPath() + "Android/data/com.huanmeng.zhanjian2/files/MagicBox/").exists()) {
|| new File( "/sdcard/Android/data/com.huanmeng.zhanjian2/files/MagicBox/").exists()) {
isInstallClient = true;
} else {
isInstallClient = false;

View File

@@ -1,6 +1,6 @@
package com.yutou.jianr_mg.Data;
import android.support.annotation.NonNull;
import androidx.annotation.NonNull;
public class TMod implements Comparable<TMod>{

View File

@@ -2,19 +2,14 @@ package com.yutou.jianr_mg.Fragments;
import android.content.Context;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import com.github.mikephil.charting.charts.PieChart;
import com.github.mikephil.charting.data.PieData;
import com.github.mikephil.charting.data.PieDataSet;
import com.github.mikephil.charting.data.PieEntry;
import com.yutou.jianr_mg.Adapters.ViewPagerAdapter;
import com.yutou.jianr_mg.Fragments.GameDataFragments.DropFragment;
import com.yutou.jianr_mg.Fragments.GameDataFragments.WarFragment;
@@ -23,7 +18,6 @@ import com.yutou.jianr_mg.R;
import java.util.ArrayList;
import java.util.List;
import Interfaces.BaseFragmeneInerface;
import me.majiajie.pagerbottomtabstrip.NavigationController;
import me.majiajie.pagerbottomtabstrip.PageNavigationView;
import me.majiajie.pagerbottomtabstrip.listener.OnTabItemSelectedListener;

View File

@@ -2,10 +2,10 @@ package com.yutou.jianr_mg.Fragments.GameDataFragments;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager;
import android.util.ArrayMap;
import android.view.LayoutInflater;
import android.view.View;
@@ -28,12 +28,9 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Timer;
import cn.lemon.view.RefreshRecyclerView;
import cn.lemon.view.adapter.Action;
public class DropFragment extends Fragment {
private static DropFragment fragment;

View File

@@ -1,23 +1,21 @@
package com.yutou.jianr_mg.Fragments.GameDataFragments;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import com.yutou.jianr_mg.Adapters.GameDataAdapters.DropAdapter;
import com.yutou.jianr_mg.Adapters.GameDataAdapters.WarAdapter;
import com.yutou.jianr_mg.Data.AppData;
import com.yutou.jianr_mg.Databases.JianRDataDataBase;
import com.yutou.jianr_mg.R;
import com.yutou.jianr_mg.Tools.Utils;
import org.angmarch.views.NiceSpinner;
import org.json.JSONObject;

View File

@@ -1,9 +1,9 @@
package com.yutou.jianr_mg.Fragments.GameDataFragments.WarLogFragments;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

View File

@@ -1,6 +1,6 @@
package com.yutou.jianr_mg.Fragments.GameDataFragments.WarLogFragments;
import android.support.v4.app.Fragment;
import androidx.fragment.app.Fragment;
public class NightFragment extends Fragment {
}

View File

@@ -2,10 +2,10 @@ package com.yutou.jianr_mg.Fragments;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutCompat;
import android.support.v7.widget.LinearLayoutManager;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.appcompat.widget.LinearLayoutCompat;
import androidx.recyclerview.widget.LinearLayoutManager;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;

View File

@@ -2,10 +2,10 @@ package com.yutou.jianr_mg.Fragments;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutCompat;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.appcompat.widget.LinearLayoutCompat;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;

View File

@@ -3,8 +3,8 @@ package com.yutou.jianr_mg.Fragments;
import android.app.Activity;
import android.content.Context;
import android.os.Handler;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutCompat;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.appcompat.widget.LinearLayoutCompat;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;

View File

@@ -1,8 +1,8 @@
package com.yutou.jianr_mg.Fragments;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

View File

@@ -1,8 +1,8 @@
package com.yutou.jianr_mg.Fragments;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

View File

@@ -1,8 +1,8 @@
package com.yutou.jianr_mg.Fragments;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

View File

@@ -1,12 +1,10 @@
package com.yutou.jianr_mg.Fragments;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.Gravity;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -14,7 +12,6 @@ import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import com.bumptech.glide.Glide;
import com.nostra13.universalimageloader.core.ImageLoader;
@@ -22,9 +19,7 @@ import com.yutou.jianr_mg.Adapters.MyItemGridViewAdapter;
import com.yutou.jianr_mg.Data.AppData;
import com.yutou.jianr_mg.Data.UUserdata;
import com.yutou.jianr_mg.Data.User;
import com.yutou.jianr_mg.Network.HttpApi;
import com.yutou.jianr_mg.R;
import com.yutou.jianr_mg.Tools.Log;
import com.yutou.jianr_mg.Tools.Utils;
import com.yutou.jianr_mg.views.UserDataActivity;
@@ -32,7 +27,6 @@ import com.yutou.jianr_mg.views.UserDataActivity;
import java.util.ArrayList;
import java.util.List;
import Interfaces.BaseFragmeneInerface;
import jp.wasabeef.glide.transformations.BlurTransformation;
import static com.bumptech.glide.request.RequestOptions.bitmapTransform;

View File

@@ -1,23 +1,18 @@
package com.yutou.jianr_mg.Fragments;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.Bundle;
import android.os.IBinder;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.widget.PopupMenu;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.appcompat.widget.PopupMenu;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.yutou.jianr_mg.R;
import com.yutou.jianr_mg.services.DownloadService;
/**

View File

@@ -3,10 +3,10 @@ package com.yutou.jianr_mg.Fragments;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.widget.GridLayoutManager;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.GridLayoutManager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -88,6 +88,7 @@ public class UtilsFragments extends Fragment {
JSONObject json=new JSONObject(string);
datas= JSON.parseArray(json.getJSONArray("data").toString(),MAppTools.class);
setLocalData();
debug();
handler.post(()->setData());
}catch (Exception e){
e.printStackTrace();
@@ -101,6 +102,10 @@ public class UtilsFragments extends Fragment {
}catch (Exception e){
e.printStackTrace();
}
}
private void debug(){
}
private Map<String, DexClassLoader> map;
private void setLocalData(){

View File

@@ -9,11 +9,11 @@ import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.constraint.ConstraintLayout;
import android.support.v4.app.ActivityCompat;
import android.support.v7.app.AppCompatActivity;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.core.app.ActivityCompat;
import androidx.appcompat.app.AppCompatActivity;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
@@ -29,7 +29,6 @@ import com.qq.e.ads.splash.SplashAD;
import com.qq.e.ads.splash.SplashADListener;
import com.qq.e.comm.util.AdError;
import com.umeng.analytics.MobclickAgent;
import com.umeng.message.UmengMessageHandler;
import com.yutou.jianr_mg.Data.AppData;
import com.yutou.jianr_mg.Data.MAdConfig;
import com.yutou.jianr_mg.Data.MGamePackname;
@@ -338,7 +337,6 @@ public class LoadingActivity extends AppCompatActivity {
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
if (AppData.appConfig != null && !AppData.appConfig.getApkVersion().equals(code)) {
MaterialDialog dialog = new MaterialDialog(this);
dialog.setTitle("检测到更新");
@@ -443,11 +441,13 @@ public class LoadingActivity extends AppCompatActivity {
dialog.setTitle(">__<");
dialog.setMessage("缺少起床的必要权限哦!");
dialog.setNegativeButton("不给", view -> {
Utils.toast(LoadingActivity.this, "哼,小气");
handler.postDelayed(() -> {
Utils.toast(LoadingActivity.this, "哼,小气(可能会发生意外闪退问题)");
/* handler.postDelayed(() -> {
ActivitysManager.AppExit(LoadingActivity.this);
dialog.dismiss();
}, 300);
}, 300);*/
dialog.dismiss();
ready(1);
});
dialog.setPositiveButton("拿去吧", view -> {
ActivityCompat.requestPermissions(LoadingActivity.this, AppPermissions.permissions, AppPermissions.REQUEST_CODE);
@@ -455,6 +455,7 @@ public class LoadingActivity extends AppCompatActivity {
});
dialog.show();
} else {
Utils.isPermissions=true;
ready(1);
}
}
@@ -466,7 +467,7 @@ public class LoadingActivity extends AppCompatActivity {
return;
}
AdTools.upload(AdTools.Open,AdTools.req);
new SplashAD(this, adLayout, ad.getAppid(), ad.getPosid(), new SplashADListener() {
SplashAD splashAD= new SplashAD(this, ad.getAppid(), ad.getPosid(), new SplashADListener() {
@Override
public void onADDismissed() {
start();
@@ -497,6 +498,7 @@ public class LoadingActivity extends AppCompatActivity {
AdTools.upload(AdTools.Open,AdTools.show);
}
});
splashAD.fetchAndShowIn(adLayout);
}

View File

@@ -2,9 +2,9 @@ package com.yutou.jianr_mg;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
import androidx.appcompat.app.AppCompatActivity;
import android.view.KeyEvent;
import android.widget.Toast;

View File

@@ -5,11 +5,11 @@ package com.yutou.jianr_mg.Network;
*/
public class HttpApi {
// public static final String HOME="http://jianr.jianrmod.cn/";
public static final String HOME="http://jianr.jianrmod.cn/";
//public static final String HOME = "http://192.168.31.240:8088/"; //zzz_gz wifi
// public static final String HOME = "http://192.168.43.68:8088/"; //zzz_gz wifi
//public static final String HOME = "http://192.168.137.1:8088/"; //笔记本本身WIFI
public static final String HOME = "http://192.168.1.84:8088/"; //公司
//public static final String HOME = "http://192.168.1.84:8088/"; //公司
public static final String HOME_URL=HOME+"android/"; //服务器
public static final String MOD_ALL = "mod/all.do";

View File

@@ -1,6 +1,7 @@
package com.yutou.jianr_mg.Network;
import com.yutou.jianr_mg.Application;
import com.yutou.jianr_mg.Data.AppData;
import com.yutou.jianr_mg.Interfaces.DownloadFileInerface;
import com.yutou.jianr_mg.Interfaces.HttpInterface;
@@ -155,6 +156,7 @@ public class HttpUtils {
} catch (Exception e) {
e.printStackTrace();
AppData.handler.post(() -> downloadFileInerface.over(false));
Utils.toast(Application.application,"下载文件发生错误!");
}
}
});

View File

@@ -13,6 +13,7 @@ import android.widget.Toast;
import com.alibaba.fastjson.JSON;
import com.kaopiz.kprogresshud.KProgressHUD;
import com.yutou.jianr_mg.Application;
import com.yutou.jianr_mg.Data.AppData;
import com.yutou.jianr_mg.Data.MGamePackname;
import com.yutou.jianr_mg.Data.TMod;
@@ -261,7 +262,13 @@ public class ModUtils {
}else{
order.put("args",new String[]{srcs.get(i).getAbsolutePath(),"files:" + paths.get(i).replace("/files/","")+srcs.get(i).getName()});
}
MagicBoxService.init().setOrder(order, data -> { //先备份
MagicBoxService service= MagicBoxService.init();
if(service==null){
Utils.toast(Application.application,"没有安装专用客户端");
modInterface.onAction(false,0);
return;
}
service.setOrder(order, data -> { //先备份
try {
if(!isBackup){//如果不需要备份则按照安装逻辑进行
i++;

View File

@@ -1,6 +1,6 @@
package com.yutou.jianr_mg.Tools;
import android.support.v4.content.FileProvider;
import androidx.core.content.FileProvider;
public class MyFileProvider extends FileProvider {
}

View File

@@ -7,8 +7,9 @@ import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Build;
import android.os.Environment;
import android.support.v4.app.ActivityCompat;
import androidx.core.app.ActivityCompat;
import android.telephony.TelephonyManager;
import android.util.Base64;
import android.util.DisplayMetrics;
@@ -18,10 +19,10 @@ import android.widget.Toast;
import com.alibaba.fastjson.JSON;
import com.kaopiz.kprogresshud.KProgressHUD;
import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiskCache;
import com.nostra13.universalimageloader.cache.memory.impl.WeakMemoryCache;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.assist.QueueProcessingType;
import com.yutou.jianr_mg.Application;
import com.yutou.jianr_mg.Data.AppData;
import com.yutou.jianr_mg.Data.MGamePackname;
@@ -56,6 +57,7 @@ import java.util.List;
public class Utils {
private static final String TAG = "Utils";
public static boolean isPermissions=false;
public static int getPixelsFromDp(Activity activity, int size) {
DisplayMetrics metrics = new DisplayMetrics();
@@ -82,12 +84,12 @@ public class Utils {
}
public static String getSDCardPath() {
String path = Environment.getExternalStorageDirectory().getPath() + "/";
String path = Application.application.getFilesDir() + "/";
return path;
}
public static String getAppPath() {
String path = Environment.getExternalStorageDirectory().getPath() + "/jianRMG";
String path = Application.application.getFilesDir() + "/jianRMG";
return path;
}
@@ -107,7 +109,6 @@ public class Utils {
if (!cachePath.exists()) {
cachePath.exists();
}
//builder.memoryCache(new WeakMemoryCache());
builder.diskCache(new UnlimitedDiskCache(cachePath));
builder.defaultDisplayImageOptions(initDisplayOptions());
@@ -216,7 +217,7 @@ public class Utils {
}
}
public static boolean writerFile(String srcFile, String data) {
static boolean writerFile(String srcFile, String data) {
File file = new File(srcFile);
File path = new File(file.getAbsolutePath().split(file.getName())[0]);
if (!path.exists()) {
@@ -234,7 +235,7 @@ public class Utils {
return false;
}
public static String readFile(String srcFile) {
static String readFile(String srcFile) {
File file = new File(srcFile);
if (!file.exists()) {
return null;
@@ -394,6 +395,9 @@ public class Utils {
}
public static String getIMEI() {
if( Build.VERSION.SDK_INT>=29){
return "android10";
}
String imei = "-1";
TelephonyManager telephonyManager = (TelephonyManager) Application.application.getSystemService(Context.TELEPHONY_SERVICE);
if (telephonyManager != null && ActivityCompat.checkSelfPermission(Application.application, Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) {

View File

@@ -13,9 +13,9 @@ import android.os.Build;
import android.os.Handler;
import android.os.IBinder;
import android.provider.Settings;
import android.support.annotation.Nullable;
import android.support.annotation.RequiresApi;
import android.support.constraint.ConstraintLayout;
import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
import androidx.constraintlayout.widget.ConstraintLayout;
import android.util.DisplayMetrics;
import android.view.Gravity;
import android.view.KeyEvent;
@@ -32,14 +32,10 @@ import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.SeekBar;
import android.widget.Toast;
import com.tencent.smtt.sdk.TbsReaderView;
import com.yutou.jianr_mg.Data.AppData;
import com.yutou.jianr_mg.R;
import com.yutou.jianr_mg.Tools.ExcelUtils;
import com.yutou.jianr_mg.Tools.Log;
import com.yutou.jianr_mg.Tools.RootUtils;
import com.yutou.jianr_mg.Tools.Utils;
import com.yutou.jianr_mg.views.ExcelActivity;
import com.yutou.jianr_mg.views.WarView;
@@ -47,16 +43,11 @@ import com.yutou.jianr_mg.views.WarView;
import org.json.JSONObject;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
import Interfaces.MagicBoxInterface;
import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
public class WindowsService extends Service {

View File

@@ -3,7 +3,7 @@ package com.yutou.jianr_mg.views;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatActivity;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.widget.LinearLayout;

View File

@@ -1,16 +1,14 @@
package com.yutou.jianr_mg.views;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
import com.yutou.jianr_mg.Application;
import com.yutou.jianr_mg.Data.AppData;
import com.yutou.jianr_mg.Network.HttpApi;
import com.yutou.jianr_mg.R;
import com.yutou.jianr_mg.Tools.JianRUtils;
@@ -65,6 +63,10 @@ public class ConfigActivity extends AppCompatActivity {
Utils.toast(Application.application,"已切换至共存版兼容模式");
}
break;
case 6:
intent=new Intent(this,WebActivity.class);
intent.putExtra("url","http://debugtbs.qq.com");
break;
}
if (intent != null) {
startActivity(intent);
@@ -80,5 +82,6 @@ public class ConfigActivity extends AppCompatActivity {
config.add("关于我们");
config.add("开源项目协议");
config.add("切换专用客户端版本");
config.add("设置TBS内核");
}
}

View File

@@ -3,8 +3,8 @@ package com.yutou.jianr_mg.views;
import android.content.Context;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.widget.ListView;
import com.alibaba.fastjson.JSON;

View File

@@ -1,14 +1,17 @@
package com.yutou.jianr_mg.views;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.constraint.ConstraintLayout;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import androidx.annotation.Nullable;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.appcompat.app.AppCompatActivity;
import com.kaopiz.kprogresshud.KProgressHUD;
import com.tencent.smtt.sdk.TbsReaderView;
import com.yutou.jianr_mg.Data.AppData;
import com.yutou.jianr_mg.Interfaces.DownloadFileInerface;
import com.yutou.jianr_mg.Network.HttpUtils;
@@ -56,6 +59,18 @@ public class ExcelActivity extends AppCompatActivity {
ConstraintLayout layout = findViewById(R.id.layout);
layout.addView(excel.getReader(), ConstraintLayout.LayoutParams.MATCH_PARENT, ConstraintLayout.LayoutParams.MATCH_PARENT);
initData();
SharedPreferences preferences=getSharedPreferences("config", Context.MODE_PRIVATE);
if(Build.VERSION.SDK_INT>=29&&!preferences.getBoolean("exceldialog",false)){
MaterialDialog dialog=new MaterialDialog(this);
dialog.setTitle("看不到攻略?");
dialog.setMessage("如果本页面内容是空的,请前往 个人中心-设置-设置TBS内核-安装线上内核\n成功后手动重启下盒子应该就行了如果还是没有请再试一次");
dialog.setPositiveButton("已经正常", view -> {
preferences.edit().putBoolean("exceldialog",true).apply();
dialog.dismiss();
});
dialog.setNegativeButton("下次再说", view -> dialog.dismiss());
dialog.show();
}
}
SharedPreferences sp;
private void initData() {
@@ -149,6 +164,7 @@ public class ExcelActivity extends AppCompatActivity {
System.out.println(file.getAbsolutePath()+" "+file.exists());
excel.start(file);
setTitle(parame.getString("name")+" by-"+parame.getString("by"));
System.out.println("------->"+excel.getReader().getHeight());
}catch (Exception e){
e.printStackTrace();
finish();

View File

@@ -2,9 +2,9 @@ package com.yutou.jianr_mg.views;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.GridLayoutManager;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.GridLayoutManager;
import com.alibaba.fastjson.JSON;
import com.umeng.analytics.MobclickAgent;

View File

@@ -1,39 +1,32 @@
package com.yutou.jianr_mg.views;
import android.content.Intent;
import android.os.Bundle;
import android.os.Environment;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.kaopiz.kprogresshud.KProgressHUD;
import com.leon.lfilepickerlibrary.LFilePicker;
import com.qq.e.comm.util.StringUtil;
import com.yutou.jianr_mg.Data.AppData;
import com.yutou.jianr_mg.Fragments.GameData;
import com.yutou.jianr_mg.Interfaces.DownloadFileInerface;
import com.yutou.jianr_mg.Interfaces.HttpInterface;
import com.yutou.jianr_mg.Network.HttpApi;
import com.yutou.jianr_mg.Network.HttpUtils;
import com.yutou.jianr_mg.Tools.CDNTools;
import com.yutou.jianr_mg.Tools.RootUtils;
import com.yutou.jianr_mg.Tools.SocketTools;
import com.yutou.jianr_mg.Tools.Utils;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.File;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import me.drakeet.materialdialog.MaterialDialog;

View File

@@ -174,12 +174,13 @@ public class HomeHeader {
bannerView=new UnifiedBannerView((Activity) context, APPID, POSID, new UnifiedBannerADListener() {
@Override
public void onNoAD(AdError adError) {
Utils.toast(getContext(),adError.getErrorMsg());
// Utils.toast(getContext(),adError.getErrorMsg());
Log.e("Banner错误",adError.getErrorMsg());
}
@Override
public void onADReceive() {
System.out.println("测试Receive");
}
@Override
@@ -324,24 +325,31 @@ public class HomeHeader {
public View createView(Context context) {
imageView = new ImageView(context);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
LinearLayout.LayoutParams params=new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
imageView.setLayoutParams(params);
return imageView;
}
@Override
public void UpdateUI(Context context, int position, final MBanner data) {
imageLoader.displayImage(data.getUrl(), imageView);
imageView.setOnClickListener(view -> {
Intent intent;
if(data.getClick().startsWith("appWeb")){
intent = new Intent(getContext(),WebActivity.class);
intent.putExtra("url",data.getClick().substring(6));
}else {
intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse(data.getClick()));
}
context.startActivity(intent);
});
try {
imageLoader.displayImage(data.getUrl(), imageView);
imageView.setOnClickListener(view -> {
Intent intent;
if(data.getClick().startsWith("appWeb")){
intent = new Intent(getContext(),WebActivity.class);
intent.putExtra("url",data.getClick().substring(6));
}else {
intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse(data.getClick()));
}
context.startActivity(intent);
});
}catch (Exception ignored){
}
}
}
}

View File

@@ -3,10 +3,9 @@ package com.yutou.jianr_mg.views;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.widget.ArrayAdapter;
import android.widget.ListView;

View File

@@ -5,8 +5,8 @@ import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.ImageView;
@@ -143,14 +143,19 @@ public class ModActivity extends AppCompatActivity {
}
private void initData(final TMod tMod) {
Log.i(TAG,"---------->" + AppData.appConfig.getDownloadhome() + tMod.getImage());
Log.i(TAG,"---------->" + AppData.appConfig.getDownloadhome() + tMod.getIcon());
if(StringUtil.isEmpty(tMod.getImage())){
imageLoader.displayImage(AppData.appConfig.getDownloadhome() + tMod.getIcon(), modImage);
}else {
imageLoader.displayImage(AppData.appConfig.getDownloadhome() + tMod.getImage(), modImage);
try {
Log.i(TAG,"---------->" + AppData.appConfig.getDownloadhome() + tMod.getImage());
Log.i(TAG,"---------->" + AppData.appConfig.getDownloadhome() + tMod.getIcon());
if(StringUtil.isEmpty(tMod.getImage())){
imageLoader.displayImage(AppData.appConfig.getDownloadhome() + tMod.getIcon(), modImage);
}else {
imageLoader.displayImage(AppData.appConfig.getDownloadhome() + tMod.getImage(), modImage);
}
imageLoader.displayImage(AppData.appConfig.getDownloadhome() + tMod.getIcon(), icon);
}catch (Exception e){
e.printStackTrace();
}
imageLoader.displayImage(AppData.appConfig.getDownloadhome() + tMod.getIcon(), icon);
title.setText(tMod.getTitle());
by.setText("@" + tMod.getByuser());
by.setOnClickListener(v -> {
@@ -161,10 +166,15 @@ public class ModActivity extends AppCompatActivity {
//.type(RichType.html)
.into(richText);
downloadText.setTag(0);
if (ModUtils.getModPath(tMod,"",true).listFiles().length > 0) {
downloadText.setText("安装");
downloadText.setTag(2);
try {
if (ModUtils.getModPath(tMod,"",true).listFiles().length > 0) {
downloadText.setText("安装");
downloadText.setTag(2);
}
}catch (Exception e){
e.printStackTrace();
}
download.setOnClickListener(view -> downloadButtonClick());
collection.setOnClickListener(view -> {
if (Utils.testStringIsNull(AppData.Token)) {

View File

@@ -3,10 +3,10 @@ package com.yutou.jianr_mg.views;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
import androidx.appcompat.app.AppCompatActivity;
import com.alibaba.fastjson.JSON;
import com.umeng.analytics.MobclickAgent;

View File

@@ -2,8 +2,8 @@ package com.yutou.jianr_mg.views;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

View File

@@ -2,8 +2,8 @@ package com.yutou.jianr_mg.views;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;

View File

@@ -1,8 +1,8 @@
package com.yutou.jianr_mg.views;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.widget.TextView;
public class TestActivity extends AppCompatActivity {

View File

@@ -1,12 +1,10 @@
package com.yutou.jianr_mg.views;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.Switch;
import android.widget.TextView;

View File

@@ -4,17 +4,16 @@ import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.text.InputType;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.Toast;
import com.leon.lfilepickerlibrary.LFilePicker;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.yutou.jianr_mg.Application;
import com.yutou.jianr_mg.Data.AppData;
import com.yutou.jianr_mg.Interfaces.HttpInterface;
import com.yutou.jianr_mg.Network.HttpApi;
@@ -138,7 +137,7 @@ public class UserDataActivity extends AppCompatActivity {
new LFilePicker()
.withActivity(UserDataActivity.this)
.withRequestCode(100)
.withStartPath(Environment.getExternalStorageDirectory().getPath()+"/jianRMG")//指定初始显示路径
.withStartPath(Application.application.getFilesDir()+"/jianRMG")//指定初始显示路径
.withIsGreater(false)//过滤文件大小 小于指定大小的文件
.withMutilyMode(false)
.withFileSize(5*1024*1024)//指定文件大小为500K

View File

@@ -4,8 +4,8 @@ import android.content.Intent;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
@@ -15,10 +15,9 @@ import android.widget.Toast;
import com.leon.lfilepickerlibrary.LFilePicker;
import com.umeng.analytics.MobclickAgent;
import com.yutou.jianr_mg.Application;
import com.yutou.jianr_mg.Data.AppData;
import com.yutou.jianr_mg.Data.MGamePackname;
import com.yutou.jianr_mg.Data.TMod;
import com.yutou.jianr_mg.Data.TModfile;
import com.yutou.jianr_mg.Data.TModfilePath;
import com.yutou.jianr_mg.Interfaces.ModInterface;
import com.yutou.jianr_mg.R;
@@ -32,8 +31,6 @@ import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
import me.drakeet.materialdialog.MaterialDialog;
public class UserDefinedActivity extends AppCompatActivity implements View.OnClickListener {
private Button srcFile;
private Spinner outPath;
@@ -105,7 +102,7 @@ public class UserDefinedActivity extends AppCompatActivity implements View.OnCli
new LFilePicker()
.withActivity(this)
.withRequestCode(100)
.withStartPath(Environment.getExternalStorageDirectory().getPath()+"/jianRMG")//指定初始显示路径
.withStartPath(Application.application.getFilesDir()+"/jianRMG")//指定初始显示路径
.withIsGreater(false)//过滤文件大小 小于指定大小的文件
.withMutilyMode(true)
.withFileSize(5*1024*1024)//指定文件大小为500K

View File

@@ -1,12 +1,11 @@
package com.yutou.jianr_mg.views;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
import androidx.appcompat.app.AppCompatActivity;
import com.alibaba.fastjson.JSON;
import com.yutou.jianr_mg.Adapters.ViewPagerAdapter;
import com.yutou.jianr_mg.Data.ShipEquipmnt;
import com.yutou.jianr_mg.Data.TeamData;
@@ -21,9 +20,7 @@ import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import me.majiajie.pagerbottomtabstrip.NavigationController;
import me.majiajie.pagerbottomtabstrip.PageNavigationView;

View File

@@ -1,15 +1,16 @@
package com.yutou.jianr_mg.views;
import android.net.http.SslError;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.webkit.SslErrorHandler;
import android.webkit.WebResourceRequest;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import com.alibaba.fastjson.JSONObject;
import com.tencent.smtt.export.external.interfaces.SslErrorHandler;
import com.tencent.smtt.export.external.interfaces.WebResourceRequest;
import com.tencent.smtt.sdk.WebSettings;
import com.tencent.smtt.sdk.WebView;
import com.tencent.smtt.sdk.WebViewClient;
import com.umeng.analytics.MobclickAgent;
import com.yutou.jianr_mg.R;
import com.yutou.jianr_mg.Tools.Log;
@@ -28,10 +29,21 @@ public class WebActivity extends AppCompatActivity{
initView();
initWeb();
String url=getIntent().getStringExtra("url");
if(url==null)
url="http://www.jianrmod.cn";
if(url==null) {
if(getIntent().getStringExtra("parameter")==null) {
url = "http://www.jianrmod.cn";
}else{
url= JSONObject.parseObject(getIntent().getStringExtra("parameter")).getString("url");
}
}
Log.i("网页URL",url);
webView.loadUrl(url);
try {
webView.loadUrl(url);
}catch (Exception e){
e.printStackTrace();
finish();
}
}
private void initView(){
webView=findViewById(R.id.webView);
@@ -50,9 +62,9 @@ public class WebActivity extends AppCompatActivity{
}
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
super.onReceivedSslError(view, handler, error);
handler.proceed();
public void onReceivedSslError(WebView webView, SslErrorHandler sslErrorHandler, com.tencent.smtt.export.external.interfaces.SslError sslError) {
super.onReceivedSslError(webView, sslErrorHandler, sslError);
sslErrorHandler.proceed();
}
@Override

View File

@@ -2,8 +2,8 @@ package com.yutou.jianr_mg.views;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;