version:1.0
fix:修复bug update:
@@ -17,8 +17,9 @@ android {
|
|||||||
applicationId "com.uiui.zyappstore"
|
applicationId "com.uiui.zyappstore"
|
||||||
minSdkVersion 26
|
minSdkVersion 26
|
||||||
targetSdkVersion 29
|
targetSdkVersion 29
|
||||||
versionCode 2
|
|
||||||
versionName "1.1"
|
versionCode 1
|
||||||
|
versionName "1.0"
|
||||||
|
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
|
|
||||||
@@ -45,23 +46,90 @@ android {
|
|||||||
|
|
||||||
//签名
|
//签名
|
||||||
signingConfigs {
|
signingConfigs {
|
||||||
mtk12 {
|
MTK {
|
||||||
storeFile file("keystore/TeclastMTK12.jks")
|
storeFile file("keystore/TeclastMTK12.jks")
|
||||||
storePassword "123456"
|
storePassword "123456"
|
||||||
keyAlias "TeclastMTK12"
|
keyAlias "TeclastMTK12"
|
||||||
keyPassword "123456"
|
keyPassword "123456"
|
||||||
v2SigningEnabled false
|
v2SigningEnabled false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cube8183 {
|
||||||
|
storeFile file("keystore/TeclastMTK12.jks")
|
||||||
|
storePassword "123456"
|
||||||
|
keyAlias "TeclastMTK12"
|
||||||
|
keyPassword "123456"
|
||||||
|
v2SigningEnabled false
|
||||||
|
}
|
||||||
|
|
||||||
|
teclast8183 {
|
||||||
|
storeFile file("keystore/TeclastMTK12.jks")
|
||||||
|
storePassword "123456"
|
||||||
|
keyAlias "TeclastMTK12"
|
||||||
|
keyPassword "123456"
|
||||||
|
v2SigningEnabled false
|
||||||
|
}
|
||||||
|
|
||||||
|
zhanRui {
|
||||||
|
storeFile file("keystore/zhanxun.keystore")
|
||||||
|
storePassword "123456"
|
||||||
|
keyAlias "zhanxun"
|
||||||
|
keyPassword "123456"
|
||||||
|
v1SigningEnabled true
|
||||||
|
v2SigningEnabled false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
buildTypes {
|
buildTypes {
|
||||||
|
Cube8183Debug.initWith(debug)
|
||||||
|
Cube8183Debug {
|
||||||
|
debuggable true
|
||||||
|
versionNameSuffix "-debug"
|
||||||
|
buildConfigField "String", "platform", '"cube8183"'
|
||||||
|
signingConfig signingConfigs.cube8183
|
||||||
|
}
|
||||||
|
|
||||||
|
Cube8183Release.initWith(release)
|
||||||
|
Cube8183Release {
|
||||||
|
buildConfigField "String", "platform", '"cube8183"'
|
||||||
|
signingConfig signingConfigs.cube8183
|
||||||
|
}
|
||||||
|
|
||||||
|
Teclast8183Debug.initWith(debug)
|
||||||
|
Teclast8183Debug {
|
||||||
|
debuggable true
|
||||||
|
versionNameSuffix "-debug"
|
||||||
|
buildConfigField "String", "platform", '"teclast8183"'
|
||||||
|
signingConfig signingConfigs.teclast8183
|
||||||
|
}
|
||||||
|
|
||||||
|
Teclast8183Release.initWith(release)
|
||||||
|
Teclast8183Release {
|
||||||
|
buildConfigField "String", "platform", '"teclast8183"'
|
||||||
|
signingConfig signingConfigs.teclast8183
|
||||||
|
}
|
||||||
|
|
||||||
|
zhanRuiDebug.initWith(debug)
|
||||||
|
zhanRuiDebug {
|
||||||
|
debuggable true
|
||||||
|
versionNameSuffix "-debug"
|
||||||
|
buildConfigField "String", "platform", '"展锐"'
|
||||||
|
signingConfig signingConfigs.zhanRui
|
||||||
|
}
|
||||||
|
|
||||||
|
zhanRuiRelease.initWith(release)
|
||||||
|
zhanRuiRelease {
|
||||||
|
buildConfigField "String", "platform", '"展锐"'
|
||||||
|
signingConfig signingConfigs.zhanRui
|
||||||
|
}
|
||||||
|
|
||||||
debug {
|
debug {
|
||||||
buildConfigField "String", "platform", '"TeclastMTK12"'
|
buildConfigField "String", "platform", '"MTK"'
|
||||||
versionNameSuffix "-debug"
|
versionNameSuffix "-debug"
|
||||||
minifyEnabled false
|
minifyEnabled false
|
||||||
//Zipalign优化
|
//Zipalign优化
|
||||||
zipAlignEnabled true
|
zipAlignEnabled true
|
||||||
signingConfig signingConfigs.mtk12
|
signingConfig signingConfigs.MTK
|
||||||
applicationVariants.all { variant ->
|
applicationVariants.all { variant ->
|
||||||
variant.outputs.each { output ->
|
variant.outputs.each { output ->
|
||||||
if (outputFile != null) {
|
if (outputFile != null) {
|
||||||
@@ -72,7 +140,7 @@ android {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
release {
|
release {
|
||||||
buildConfigField "String", "platform", '"TeclastMTK12"'
|
buildConfigField "String", "platform", '"MTK"'
|
||||||
//混淆
|
//混淆
|
||||||
minifyEnabled false
|
minifyEnabled false
|
||||||
//Zipalign优化
|
//Zipalign优化
|
||||||
@@ -80,7 +148,7 @@ android {
|
|||||||
//前一部分代表系统默认的android程序的混淆文件,该文件已经包含了基本的混淆声明,后一个文件是自己的定义混淆文件
|
//前一部分代表系统默认的android程序的混淆文件,该文件已经包含了基本的混淆声明,后一个文件是自己的定义混淆文件
|
||||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||||
//签名
|
//签名
|
||||||
signingConfig signingConfigs.mtk12
|
signingConfig signingConfigs.MTK
|
||||||
// 将release版本的包名重命名,加上版本及日期
|
// 将release版本的包名重命名,加上版本及日期
|
||||||
applicationVariants.all { variant ->
|
applicationVariants.all { variant ->
|
||||||
variant.outputs.each { output ->
|
variant.outputs.each { output ->
|
||||||
@@ -128,7 +196,7 @@ dependencies {
|
|||||||
//动态权限框架
|
//动态权限框架
|
||||||
implementation 'com.hjq:xxpermissions:6.0'
|
implementation 'com.hjq:xxpermissions:6.0'
|
||||||
//okhttp
|
//okhttp
|
||||||
implementation 'com.squareup.okhttp3:okhttp:4.9.3'
|
implementation 'com.squareup.okhttp3:okhttp:4.9.2'
|
||||||
//Retrofit
|
//Retrofit
|
||||||
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
|
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
|
||||||
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
|
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
|
||||||
|
|||||||
BIN
app/keystore/zhanxun.keystore
Normal file
@@ -39,6 +39,8 @@ import java.io.File;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import butterknife.BindView;
|
||||||
|
import butterknife.ButterKnife;
|
||||||
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
|
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
|
||||||
import io.reactivex.rxjava3.annotations.NonNull;
|
import io.reactivex.rxjava3.annotations.NonNull;
|
||||||
import io.reactivex.rxjava3.core.Observer;
|
import io.reactivex.rxjava3.core.Observer;
|
||||||
@@ -49,11 +51,17 @@ import io.reactivex.rxjava3.schedulers.Schedulers;
|
|||||||
public class MainActivity extends BaseActivity {
|
public class MainActivity extends BaseActivity {
|
||||||
private static final String TAG = MainActivity.class.getSimpleName();
|
private static final String TAG = MainActivity.class.getSimpleName();
|
||||||
|
|
||||||
private RelativeLayout search_layout;
|
@BindView(R.id.search_layout)
|
||||||
private ImageView iv_download, iv_appicon;
|
RelativeLayout search_layout;
|
||||||
private SlidingTabLayout mSlidingTabLayout;
|
@BindView(R.id.iv_download)
|
||||||
private ViewPager mViewPager;
|
ImageView iv_download;
|
||||||
private long exitTime = 0;
|
@BindView(R.id.iv_appicon)
|
||||||
|
ImageView iv_appicon;
|
||||||
|
@BindView(R.id.main_sliding_tab_layout)
|
||||||
|
SlidingTabLayout mSlidingTabLayout;
|
||||||
|
@BindView(R.id.main_view_pager)
|
||||||
|
ViewPager mViewPager;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
@@ -63,69 +71,47 @@ public class MainActivity extends BaseActivity {
|
|||||||
starService();
|
starService();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void starService() {
|
|
||||||
startService(new Intent(this, GuardService.class));
|
|
||||||
startService(new Intent(this, StepService.class));
|
|
||||||
startService(new Intent(this, MainService.class));
|
|
||||||
startService(new Intent(this, DownloadService.class));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected int setLayoutResourceID() {
|
protected int setLayoutResourceID() {
|
||||||
return R.layout.activity_main;
|
return R.layout.activity_main;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onResume() {
|
|
||||||
super.onResume();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onStart() {
|
|
||||||
super.onStart();
|
|
||||||
// getUserInfo();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
|
||||||
super.onConfigurationChanged(newConfig);
|
|
||||||
Log.e(TAG, "onConfigurationChanged");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onSaveInstanceState(Bundle outState) {
|
|
||||||
super.onSaveInstanceState(outState);
|
|
||||||
Log.e(TAG, "onSaveInstanceState");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void initView() {
|
protected void initView() {
|
||||||
iv_appicon = findViewById(R.id.iv_appicon);
|
ButterKnife.bind(this);
|
||||||
iv_appicon.setOnClickListener(new View.OnClickListener() {
|
iv_appicon.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
// startActivity(new Intent(MainActivity.this, AboutActivity.class));
|
// startActivity(new Intent(MainActivity.this, AboutActivity.class));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
iv_download = findViewById(R.id.iv_download);
|
|
||||||
iv_download.setOnClickListener(new View.OnClickListener() {
|
iv_download.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View view) {
|
public void onClick(View view) {
|
||||||
startActivity(new Intent(MainActivity.this, DownloadManagerActivity.class));
|
startActivity(new Intent(MainActivity.this, ManagerAppActivity.class));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
search_layout = findViewById(R.id.search_layout);
|
|
||||||
search_layout.setOnClickListener(new View.OnClickListener() {
|
search_layout.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View view) {
|
public void onClick(View view) {
|
||||||
startActivity(new Intent(MainActivity.this, SearcherActivity.class));
|
startActivity(new Intent(MainActivity.this, SearcherActivity.class));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
mSlidingTabLayout = findViewById(R.id.main_sliding_tab_layout);
|
|
||||||
mViewPager = findViewById(R.id.main_view_pager);
|
|
||||||
initTabLayout();
|
initTabLayout();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void initData() {
|
||||||
|
// getAllAppPackageName();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void starService() {
|
||||||
|
startService(new Intent(this, GuardService.class));
|
||||||
|
startService(new Intent(this, StepService.class));
|
||||||
|
startService(new Intent(this, MainService.class));
|
||||||
|
startService(new Intent(this, DownloadService.class));
|
||||||
|
}
|
||||||
|
|
||||||
private void initTabLayout() {
|
private void initTabLayout() {
|
||||||
final List<Fragment> fragmentList = new ArrayList<>();
|
final List<Fragment> fragmentList = new ArrayList<>();
|
||||||
fragmentList.add(new FeaturedFragment());
|
fragmentList.add(new FeaturedFragment());
|
||||||
@@ -149,8 +135,26 @@ public class MainActivity extends BaseActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void initData() {
|
protected void onResume() {
|
||||||
// getAllAppPackageName();
|
super.onResume();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onStart() {
|
||||||
|
super.onStart();
|
||||||
|
// getUserInfo();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
||||||
|
super.onConfigurationChanged(newConfig);
|
||||||
|
Log.e(TAG, "onConfigurationChanged");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onSaveInstanceState(Bundle outState) {
|
||||||
|
super.onSaveInstanceState(outState);
|
||||||
|
Log.e(TAG, "onSaveInstanceState");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -211,9 +215,10 @@ public class MainActivity extends BaseActivity {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return super.onKeyDown(keyCode, event);
|
return super.onKeyDown(keyCode, event);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private long exitTime = 0;
|
||||||
|
|
||||||
public void exit() {
|
public void exit() {
|
||||||
if ((System.currentTimeMillis() - exitTime) > 2000) {
|
if ((System.currentTimeMillis() - exitTime) > 2000) {
|
||||||
ToastUtil.show("再按一次退出程序");
|
ToastUtil.show("再按一次退出程序");
|
||||||
|
|||||||
@@ -109,7 +109,7 @@ public class MoreAppActivity extends BaseActivity {
|
|||||||
|
|
||||||
private void getAdminApp() {
|
private void getAdminApp() {
|
||||||
NetInterfaceManager.getInstance()
|
NetInterfaceManager.getInstance()
|
||||||
.getAdminAppObservable()
|
.getAdminAppByClassObservable(2)
|
||||||
.subscribe(new Observer<BaseResponse<List<AppInfo>>>() {
|
.subscribe(new Observer<BaseResponse<List<AppInfo>>>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSubscribe(Disposable d) {
|
public void onSubscribe(Disposable d) {
|
||||||
|
|||||||
@@ -2,6 +2,8 @@ package com.uiui.zyappstore.adapter;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.provider.Settings;
|
||||||
|
import android.util.Log;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
@@ -28,6 +30,7 @@ import com.uiui.zyappstore.bean.GlideCircleWithBorder;
|
|||||||
import com.uiui.zyappstore.utils.ApkUtils;
|
import com.uiui.zyappstore.utils.ApkUtils;
|
||||||
import com.uiui.zyappstore.utils.FileUtils;
|
import com.uiui.zyappstore.utils.FileUtils;
|
||||||
import com.uiui.zyappstore.utils.StorageUtils;
|
import com.uiui.zyappstore.utils.StorageUtils;
|
||||||
|
import com.uiui.zyappstore.utils.ToastUtil;
|
||||||
import com.uiui.zyappstore.utils.Utils;
|
import com.uiui.zyappstore.utils.Utils;
|
||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
@@ -134,6 +137,12 @@ public class AppAdapter extends RecyclerView.Adapter<AppAdapter.Holder> {
|
|||||||
if (installed && !update) {
|
if (installed && !update) {
|
||||||
ApkUtils.openApp(mContext, appInfo.getApp_package());
|
ApkUtils.openApp(mContext, appInfo.getApp_package());
|
||||||
} else {
|
} else {
|
||||||
|
int is_storeinstall = Settings.Global.getInt(mContext.getContentResolver(), "setting_is_storeinstall", 0);
|
||||||
|
Log.e(TAG, "onClick: " + is_storeinstall);
|
||||||
|
if (is_storeinstall == 0) {
|
||||||
|
ToastUtil.show("应用市场已被禁止安装");
|
||||||
|
return;
|
||||||
|
}
|
||||||
Utils.addPackageToWhiteList(mContext, appInfo.getApp_package());
|
Utils.addPackageToWhiteList(mContext, appInfo.getApp_package());
|
||||||
DownloadEntity entity = Aria.download(this).getFirstDownloadEntity(appInfo.getApp_url());
|
DownloadEntity entity = Aria.download(this).getFirstDownloadEntity(appInfo.getApp_url());
|
||||||
if (null != entity) {
|
if (null != entity) {
|
||||||
|
|||||||
@@ -216,7 +216,8 @@ public class FeaturedFragment extends LazyLoadFragment implements RefreshManager
|
|||||||
cl_5.setOnClickListener(new View.OnClickListener() {
|
cl_5.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
startActivity(new Intent(getActivity(), ManagerAppActivity.class));
|
// startActivity(new Intent(getActivity(), ManagerAppActivity.class));
|
||||||
|
openAppClass(5);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
tv_exclusive_app.setOnClickListener(new View.OnClickListener() {
|
tv_exclusive_app.setOnClickListener(new View.OnClickListener() {
|
||||||
@@ -254,9 +255,10 @@ public class FeaturedFragment extends LazyLoadFragment implements RefreshManager
|
|||||||
// } else {
|
// } else {
|
||||||
// rv_popular.setLayoutManager(new LinearLayoutManager(mContext));
|
// rv_popular.setLayoutManager(new LinearLayoutManager(mContext));
|
||||||
// }
|
// }
|
||||||
|
rv_popular.setAdapter(mPopularAppAdapter);
|
||||||
|
|
||||||
GridLayoutManager gridLayoutManager2 = new GridLayoutManager(mContext, 2);
|
GridLayoutManager gridLayoutManager2 = new GridLayoutManager(mContext, 2);
|
||||||
rv_exclusive.setLayoutManager(gridLayoutManager2);
|
rv_exclusive.setLayoutManager(gridLayoutManager2);
|
||||||
rv_popular.setAdapter(mPopularAppAdapter);
|
|
||||||
rv_exclusive.setAdapter(mExclusiveAppAdapter);
|
rv_exclusive.setAdapter(mExclusiveAppAdapter);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -333,13 +335,13 @@ public class FeaturedFragment extends LazyLoadFragment implements RefreshManager
|
|||||||
}
|
}
|
||||||
|
|
||||||
synchronized private void initAPPData() {
|
synchronized private void initAPPData() {
|
||||||
int setting_admin_app = Settings.System.getInt(mContext.getContentResolver(), "setting_admin_app", 1);
|
// int setting_admin_app = Settings.System.getInt(mContext.getContentResolver(), "setting_admin_app", 1);
|
||||||
if (setting_admin_app == 0) {
|
// if (setting_admin_app == 0) {
|
||||||
getAllAppInfo();
|
|
||||||
} else {
|
|
||||||
getAllAppInfo();
|
|
||||||
getAdminApp();
|
getAdminApp();
|
||||||
}
|
// } else {
|
||||||
|
// getAllAppInfo();
|
||||||
|
// getAdminApp();
|
||||||
|
// }
|
||||||
getBanner();
|
getBanner();
|
||||||
getAppClass();
|
getAppClass();
|
||||||
}
|
}
|
||||||
@@ -524,7 +526,7 @@ public class FeaturedFragment extends LazyLoadFragment implements RefreshManager
|
|||||||
|
|
||||||
private void getAdminApp() {
|
private void getAdminApp() {
|
||||||
NetInterfaceManager.getInstance()
|
NetInterfaceManager.getInstance()
|
||||||
.getAdminAppObservable()
|
.getAdminAppByClassObservable(2)
|
||||||
.subscribe(new Observer<BaseResponse<List<AppInfo>>>() {
|
.subscribe(new Observer<BaseResponse<List<AppInfo>>>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSubscribe(Disposable d) {
|
public void onSubscribe(Disposable d) {
|
||||||
|
|||||||
@@ -208,7 +208,9 @@ public class NetInterfaceManager {
|
|||||||
set.add(JGYUtils.UMTK11Tag);
|
set.add(JGYUtils.UMTK11Tag);
|
||||||
} else if (platform == JGYUtils.UZY12Platform) {
|
} else if (platform == JGYUtils.UZY12Platform) {
|
||||||
set.add(JGYUtils.UZY12Tag);
|
set.add(JGYUtils.UZY12Tag);
|
||||||
} else if (platform == JGYUtils.TeclastMTK12Platform) {
|
} else if (platform == JGYUtils.Cube8183Platform) {
|
||||||
|
set.add(JGYUtils.Cube8183Tag);
|
||||||
|
}else if (platform == JGYUtils.Teclast8183Platform) {
|
||||||
set.add(JGYUtils.TeclastMTK12Tag);
|
set.add(JGYUtils.TeclastMTK12Tag);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import android.graphics.drawable.Drawable;
|
|||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Binder;
|
import android.os.Binder;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
|
import android.provider.Settings;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
@@ -37,10 +38,12 @@ import java.util.ArrayList;
|
|||||||
import java.util.Enumeration;
|
import java.util.Enumeration;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
import java.util.zip.ZipEntry;
|
import java.util.zip.ZipEntry;
|
||||||
import java.util.zip.ZipFile;
|
import java.util.zip.ZipFile;
|
||||||
|
|
||||||
public class ApkUtils {
|
public class ApkUtils {
|
||||||
|
private static final String TAG = ApkUtils.class.getSimpleName();
|
||||||
|
|
||||||
public static synchronized boolean getRootAhth() {
|
public static synchronized boolean getRootAhth() {
|
||||||
Process process = null;
|
Process process = null;
|
||||||
@@ -72,17 +75,13 @@ public class ApkUtils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void openApp(Context context, View view) {
|
|
||||||
try {
|
|
||||||
Intent intent = context.getPackageManager().getLaunchIntentForPackage((String) view.getTag(R.string.download_btn_had));
|
|
||||||
context.startActivity(intent);
|
|
||||||
} catch (Exception e) {
|
|
||||||
Toast.makeText(context, R.string.open_app_fail, Toast.LENGTH_LONG).show();
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void openApp(Context context, String packageName) {
|
public static void openApp(Context context, String packageName) {
|
||||||
|
int setting_other_appInstaller = Settings.Global.getInt(context.getContentResolver(), "setting_other_appInstaller", 0);
|
||||||
|
Log.e(TAG, "openApp: " + setting_other_appInstaller);
|
||||||
|
if (setting_other_appInstaller == 0) {
|
||||||
|
ToastUtil.show("已禁止应用打开");
|
||||||
|
return;
|
||||||
|
}
|
||||||
Intent intent = context.getPackageManager().getLaunchIntentForPackage(packageName);
|
Intent intent = context.getPackageManager().getLaunchIntentForPackage(packageName);
|
||||||
if (intent != null) {
|
if (intent != null) {
|
||||||
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||||
@@ -636,7 +635,7 @@ public class ApkUtils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static HashSet<String> fuxiaoyingApp = new HashSet<String>() {{
|
private static final HashSet<String> fuxiaoyingApp = new HashSet<String>() {{
|
||||||
this.add("com.fuying.fuxiaoying");
|
this.add("com.fuying.fuxiaoying");
|
||||||
this.add("com.zhiduoke.fxy");
|
this.add("com.zhiduoke.fxy");
|
||||||
this.add("com.fuying.english");
|
this.add("com.fuying.english");
|
||||||
@@ -646,6 +645,54 @@ public class ApkUtils {
|
|||||||
this.add("com.fuying.aobama.pad");
|
this.add("com.fuying.aobama.pad");
|
||||||
}};
|
}};
|
||||||
|
|
||||||
|
|
||||||
|
private static final Set<String> JXWAPP = new HashSet<String>() {{
|
||||||
|
this.add("com.uiui.zybrowser");
|
||||||
|
this.add("com.study.flashplayer");
|
||||||
|
this.add("com.jxw.laboratory");
|
||||||
|
this.add("com.safe.uiui");
|
||||||
|
this.add("software.ecenter.study");
|
||||||
|
this.add("com.iflytek.speechcloud");
|
||||||
|
this.add("com.jxw.online_study");
|
||||||
|
this.add("com.jxw.jinfangyici");
|
||||||
|
this.add("air.com.zhihuiyoujiao.flashplayer");
|
||||||
|
this.add("com.ll.ahschool");
|
||||||
|
this.add("com.jxw.classtable");
|
||||||
|
this.add("com.jxw.teacher.video");
|
||||||
|
this.add("com.jxw.game");
|
||||||
|
this.add("com.jxw.yyhb");
|
||||||
|
this.add("com.jxw.zncd");
|
||||||
|
this.add("com.jxw.dmxcy");
|
||||||
|
this.add("com.jxw.bishunguize");
|
||||||
|
this.add("com.jxw.characterlearning");
|
||||||
|
this.add("com.jxw.newyouer.video");
|
||||||
|
this.add("com.iflytek.cyber.iot.show.core");
|
||||||
|
this.add("com.jxw.huiben");
|
||||||
|
this.add("com.jxw.liancichengju");
|
||||||
|
this.add("com.jxw.singsound");
|
||||||
|
this.add("com.jxw.jxwcalculator");
|
||||||
|
this.add("com.uiui.zyappstore");
|
||||||
|
this.add("com.jxw.launcher");
|
||||||
|
this.add("com.jxw.jxwbook");
|
||||||
|
this.add("com.uiui.zysn");
|
||||||
|
this.add("com.jxw.question");
|
||||||
|
this.add("com.example.arithmeticformula");
|
||||||
|
this.add("com.jxw.schultegrid");
|
||||||
|
this.add("com.jxw.mskt.video");
|
||||||
|
this.add("com.jxw.wuweijidanci");
|
||||||
|
this.add("com.tech.translate");
|
||||||
|
this.add("com.jxw.studydigital");
|
||||||
|
this.add("com.jxw.englishsoundmark");
|
||||||
|
this.add("com.jxw.handwrite");
|
||||||
|
this.add("com.example.pianpangbushou");
|
||||||
|
this.add("com.jxw.learnchinesepinyin");
|
||||||
|
this.add("com.example.elementcycleapp");
|
||||||
|
this.add("com.jxw.examsystem");
|
||||||
|
this.add("com.jxw.letterstudynew");
|
||||||
|
this.add("com.jxw.yuwenxiezuo");
|
||||||
|
this.add("com.jxw.bihuamingcheng");
|
||||||
|
}};
|
||||||
|
|
||||||
synchronized public static List<LocalApp> getLocalApp(Context context) {
|
synchronized public static List<LocalApp> getLocalApp(Context context) {
|
||||||
List<LocalApp> appList = new ArrayList<>();
|
List<LocalApp> appList = new ArrayList<>();
|
||||||
Intent intent = new Intent(Intent.ACTION_MAIN, null);
|
Intent intent = new Intent(Intent.ACTION_MAIN, null);
|
||||||
@@ -669,6 +716,9 @@ public class ApkUtils {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
bean.setPackageName(packageName);
|
bean.setPackageName(packageName);
|
||||||
|
if (JXWAPP.contains(packageName)) {
|
||||||
|
bean.setCanUnintall(false);
|
||||||
|
}
|
||||||
Drawable icon = resolveInfoList.get(i).loadIcon(context.getPackageManager());
|
Drawable icon = resolveInfoList.get(i).loadIcon(context.getPackageManager());
|
||||||
bean.setIcon(icon);
|
bean.setIcon(icon);
|
||||||
// if (forceAppSet.contains(packageName)) {
|
// if (forceAppSet.contains(packageName)) {
|
||||||
@@ -753,9 +803,10 @@ public class ApkUtils {
|
|||||||
public static HashSet<String> ownApp = new HashSet<String>() {{
|
public static HashSet<String> ownApp = new HashSet<String>() {{
|
||||||
this.add(BuildConfig.APPLICATION_ID);
|
this.add(BuildConfig.APPLICATION_ID);
|
||||||
this.add("com.android.uiuios");
|
this.add("com.android.uiuios");
|
||||||
this.add("com.uiui.os");
|
this.add("com.uiui.zyos");
|
||||||
this.add("com.uiui.browser");
|
this.add("com.uiui.zybrowser");
|
||||||
this.add("com.uiui.sn");
|
this.add("com.uiui.zysn");
|
||||||
this.add("com.uiui.aios");
|
this.add("com.uiui.aios");
|
||||||
|
this.add("com.safe.uiui");
|
||||||
}};
|
}};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,7 +43,8 @@ public class JGYUtils {
|
|||||||
public static final int ZhanruiPlatform = 3;
|
public static final int ZhanruiPlatform = 3;
|
||||||
public static final int UMTK11Platform = 4;
|
public static final int UMTK11Platform = 4;
|
||||||
public static final int UZY12Platform = 7;
|
public static final int UZY12Platform = 7;
|
||||||
public static final int TeclastMTK12Platform = 8;
|
public static final int Cube8183Platform = 8;
|
||||||
|
public static final int Teclast8183Platform = 9;
|
||||||
public static final int UnknowPlatform = 0;
|
public static final int UnknowPlatform = 0;
|
||||||
|
|
||||||
public static final String MTKTag = "MTK";
|
public static final String MTKTag = "MTK";
|
||||||
@@ -51,7 +52,8 @@ public class JGYUtils {
|
|||||||
public static final String NewZhanruiTag = "新展锐";
|
public static final String NewZhanruiTag = "新展锐";
|
||||||
public static final String UMTK11Tag = "UMTK11";
|
public static final String UMTK11Tag = "UMTK11";
|
||||||
public static final String UZY12Tag = "UZY12";
|
public static final String UZY12Tag = "UZY12";
|
||||||
public static final String TeclastMTK12Tag = "TeclastMTK12";
|
public static final String Cube8183Tag = "cube8183";
|
||||||
|
public static final String TeclastMTK12Tag = "teclast8183";
|
||||||
|
|
||||||
|
|
||||||
private JGYUtils(Context context) {
|
private JGYUtils(Context context) {
|
||||||
@@ -316,9 +318,12 @@ public class JGYUtils {
|
|||||||
} else if (UZY12Tag.equalsIgnoreCase(platform)) {
|
} else if (UZY12Tag.equalsIgnoreCase(platform)) {
|
||||||
Log.i(TAG, "checkAppPlatform: " + "UZY12");
|
Log.i(TAG, "checkAppPlatform: " + "UZY12");
|
||||||
return UZY12Platform;
|
return UZY12Platform;
|
||||||
}else if (TeclastMTK12Tag.equalsIgnoreCase(platform)) {
|
}else if (Cube8183Tag.equalsIgnoreCase(platform)) {
|
||||||
Log.i(TAG, "checkAppPlatform: " + "TeclastMTK12");
|
Log.i(TAG, "checkAppPlatform: " + "cube8183");
|
||||||
return TeclastMTK12Platform;
|
return Cube8183Platform;
|
||||||
|
} else if (TeclastMTK12Tag.equalsIgnoreCase(platform)) {
|
||||||
|
Log.i(TAG, "checkAppPlatform: " + "teclast8183");
|
||||||
|
return Teclast8183Platform;
|
||||||
} else {
|
} else {
|
||||||
Log.i(TAG, "checkAppPlatform: " + "没有数据");
|
Log.i(TAG, "checkAppPlatform: " + "没有数据");
|
||||||
return UnknowPlatform;
|
return UnknowPlatform;
|
||||||
@@ -351,7 +356,9 @@ public class JGYUtils {
|
|||||||
} else if (UZY12Tag.equalsIgnoreCase(platform)) {
|
} else if (UZY12Tag.equalsIgnoreCase(platform)) {
|
||||||
getAppPlatformCallback.AppPlatform(UZY12Platform);
|
getAppPlatformCallback.AppPlatform(UZY12Platform);
|
||||||
} else if (TeclastMTK12Tag.equalsIgnoreCase(platform)) {
|
} else if (TeclastMTK12Tag.equalsIgnoreCase(platform)) {
|
||||||
getAppPlatformCallback.AppPlatform(TeclastMTK12Platform);
|
getAppPlatformCallback.AppPlatform(Teclast8183Platform);
|
||||||
|
} else if (Cube8183Tag.equalsIgnoreCase(platform)) {
|
||||||
|
getAppPlatformCallback.AppPlatform(Cube8183Platform);
|
||||||
} else {
|
} else {
|
||||||
getAppPlatformCallback.AppPlatform(UnknowPlatform);
|
getAppPlatformCallback.AppPlatform(UnknowPlatform);
|
||||||
}
|
}
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 4.5 KiB |
|
Before Width: | Height: | Size: 940 B After Width: | Height: | Size: 2.5 KiB |
@@ -38,15 +38,14 @@
|
|||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
<com.scwang.smartrefresh.layout.SmartRefreshLayout
|
<com.scwang.smartrefresh.layout.SmartRefreshLayout
|
||||||
android:id="@+id/local_app_refresh_layout"
|
android:id="@+id/local_app_refresh_layout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
|
android:background="@color/white"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
android:background="@color/white"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/linearLayout2">
|
app:layout_constraintTop_toBottomOf="@+id/linearLayout2">
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
@@ -71,7 +70,5 @@
|
|||||||
|
|
||||||
</ImageView>
|
</ImageView>
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
|
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
@@ -6,16 +6,18 @@
|
|||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
tools:context=".activity.MainActivity">
|
tools:context=".activity.MainActivity">
|
||||||
|
|
||||||
<LinearLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent">
|
||||||
android:orientation="vertical">
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:id="@+id/linearLayout4"
|
||||||
|
android:layout_width="0dp"
|
||||||
android:layout_height="@dimen/dp_24"
|
android:layout_height="@dimen/dp_24"
|
||||||
android:layout_marginBottom="@dimen/dp_4"
|
android:orientation="horizontal"
|
||||||
android:orientation="horizontal">
|
app:layout_constraintEnd_toStartOf="@+id/iv_download"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/iv_appicon"
|
android:id="@+id/iv_appicon"
|
||||||
@@ -70,7 +72,6 @@
|
|||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/iv_download"
|
|
||||||
android:layout_width="30dp"
|
android:layout_width="30dp"
|
||||||
android:layout_height="30dp"
|
android:layout_height="30dp"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
@@ -79,12 +80,25 @@
|
|||||||
android:visibility="gone" />
|
android:visibility="gone" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/iv_download"
|
||||||
|
android:layout_width="@dimen/dp_12"
|
||||||
|
android:layout_height="@dimen/dp_12"
|
||||||
|
android:layout_marginEnd="@dimen/dp_8"
|
||||||
|
android:adjustViewBounds="true"
|
||||||
|
android:scaleType="centerInside"
|
||||||
|
android:src="@drawable/icon_download_task"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/linearLayout4"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/linearLayout4" />
|
||||||
|
|
||||||
<com.flyco.tablayout.SlidingTabLayout
|
<com.flyco.tablayout.SlidingTabLayout
|
||||||
android:id="@+id/main_sliding_tab_layout"
|
android:id="@+id/main_sliding_tab_layout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="@dimen/dp_20"
|
android:layout_height="@dimen/dp_20"
|
||||||
android:background="@color/white"
|
android:background="@color/white"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/linearLayout4"
|
||||||
app:tl_indicator_style="TRIANGLE"
|
app:tl_indicator_style="TRIANGLE"
|
||||||
app:tl_tab_space_equal="true"
|
app:tl_tab_space_equal="true"
|
||||||
app:tl_textBold="SELECT"
|
app:tl_textBold="SELECT"
|
||||||
@@ -98,6 +112,10 @@
|
|||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:background="@color/white"
|
android:background="@color/white"
|
||||||
android:overScrollMode="never" />
|
android:overScrollMode="never"
|
||||||
</LinearLayout>
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/main_sliding_tab_layout" />
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
android:id="@+id/featured_refresh_layout"
|
android:id="@+id/featured_refresh_layout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="@color/adapter_selector_default"
|
android:background="@color/colorPrimary"
|
||||||
app:srlAccentColor="@color/colorAccent"
|
app:srlAccentColor="@color/colorAccent"
|
||||||
app:srlPrimaryColor="@color/colorPrimary">
|
app:srlPrimaryColor="@color/colorPrimary">
|
||||||
|
|
||||||
|
|||||||
@@ -6,16 +6,18 @@
|
|||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
tools:context=".activity.MainActivity">
|
tools:context=".activity.MainActivity">
|
||||||
|
|
||||||
<LinearLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent">
|
||||||
android:orientation="vertical">
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:id="@+id/linearLayout4"
|
||||||
|
android:layout_width="0dp"
|
||||||
android:layout_height="@dimen/dp_24"
|
android:layout_height="@dimen/dp_24"
|
||||||
android:layout_marginBottom="@dimen/dp_4"
|
android:orientation="horizontal"
|
||||||
android:orientation="horizontal">
|
app:layout_constraintEnd_toStartOf="@+id/iv_download"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/iv_appicon"
|
android:id="@+id/iv_appicon"
|
||||||
@@ -70,7 +72,6 @@
|
|||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/iv_download"
|
|
||||||
android:layout_width="30dp"
|
android:layout_width="30dp"
|
||||||
android:layout_height="30dp"
|
android:layout_height="30dp"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
@@ -79,12 +80,25 @@
|
|||||||
android:visibility="gone" />
|
android:visibility="gone" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/iv_download"
|
||||||
|
android:layout_width="@dimen/dp_12"
|
||||||
|
android:layout_height="@dimen/dp_12"
|
||||||
|
android:layout_marginEnd="@dimen/dp_8"
|
||||||
|
android:adjustViewBounds="true"
|
||||||
|
android:scaleType="centerInside"
|
||||||
|
android:src="@drawable/icon_download_task"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/linearLayout4"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/linearLayout4" />
|
||||||
|
|
||||||
<com.flyco.tablayout.SlidingTabLayout
|
<com.flyco.tablayout.SlidingTabLayout
|
||||||
android:id="@+id/main_sliding_tab_layout"
|
android:id="@+id/main_sliding_tab_layout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="@dimen/dp_20"
|
android:layout_height="@dimen/dp_20"
|
||||||
android:background="@color/white"
|
android:background="@color/white"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/linearLayout4"
|
||||||
app:tl_indicator_style="TRIANGLE"
|
app:tl_indicator_style="TRIANGLE"
|
||||||
app:tl_tab_space_equal="true"
|
app:tl_tab_space_equal="true"
|
||||||
app:tl_textBold="SELECT"
|
app:tl_textBold="SELECT"
|
||||||
@@ -98,6 +112,10 @@
|
|||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:background="@color/white"
|
android:background="@color/white"
|
||||||
android:overScrollMode="never" />
|
android:overScrollMode="never"
|
||||||
</LinearLayout>
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/main_sliding_tab_layout" />
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
android:id="@+id/featured_refresh_layout"
|
android:id="@+id/featured_refresh_layout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="@color/adapter_selector_default"
|
android:background="@color/colorPrimary"
|
||||||
app:srlAccentColor="@color/colorAccent"
|
app:srlAccentColor="@color/colorAccent"
|
||||||
app:srlPrimaryColor="@color/colorPrimary">
|
app:srlPrimaryColor="@color/colorPrimary">
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
<color name="colorPrimary">#efefef</color>
|
<color name="colorPrimary">#f6f6f6</color>
|
||||||
<color name="colorPrimaryDark">#303F9F</color>
|
<color name="colorPrimaryDark">#303F9F</color>
|
||||||
<color name="colorAccent">#4880ff</color>
|
<color name="colorAccent">#4880ff</color>
|
||||||
<!-- <color name="colorPrimary">#008577</color>-->
|
<!-- <color name="colorPrimary">#008577</color>-->
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
<color name="search">#FFFFFF</color>
|
<color name="search">#FFFFFF</color>
|
||||||
<color name="red">#d64743</color>
|
<color name="red">#d64743</color>
|
||||||
<color name="blue">#00a0e9</color>
|
<color name="blue">#00a0e9</color>
|
||||||
<color name="adapter_selector_default">#e8e7e7</color>
|
<color name="adapter_selector_default">#f3f0f0</color>
|
||||||
<color name="activation_color">#4880ff</color>
|
<color name="activation_color">#4880ff</color>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -12,10 +12,10 @@
|
|||||||
<string name="popular_recommendation">热门推荐</string>
|
<string name="popular_recommendation">热门推荐</string>
|
||||||
<string name="more_app">更多…</string>
|
<string name="more_app">更多…</string>
|
||||||
|
|
||||||
<string name="class_shopping">购物</string>
|
<string name="class_shopping">热门推荐</string>
|
||||||
<string name="class_popular">热门</string>
|
<string name="class_popular">在线学习</string>
|
||||||
<string name="class_health">养生</string>
|
<string name="class_health">学霸必备</string>
|
||||||
<string name="class_video">影音</string>
|
<string name="class_video">偏科助手</string>
|
||||||
<string name="class_entertainment">娱乐</string>
|
<string name="class_entertainment">基础工具</string>
|
||||||
<string name="class_manage">管理</string>
|
<string name="class_manage">学习软件</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||