package com.hanju.video.app.ui;
|
|
import android.Manifest;
|
import android.app.AlertDialog;
|
import android.app.Dialog;
|
import android.content.Context;
|
import android.content.DialogInterface;
|
import android.content.Intent;
|
import android.content.SharedPreferences;
|
import android.content.pm.ActivityInfo;
|
import android.os.AsyncTask;
|
import android.os.Build;
|
import android.os.Bundle;
|
import android.telephony.TelephonyManager;
|
import android.view.KeyEvent;
|
import android.view.ViewGroup;
|
import android.widget.ImageView;
|
import android.widget.TextView;
|
|
import com.bumptech.glide.Glide;
|
import com.google.gson.Gson;
|
import com.hanju.video.app.ui.dialog.PermissionAuthNotifyDialog;
|
import com.hanju.video.app.util.http.BasicTextHttpResponseHandler;
|
import com.hanju.video.app.HanJuApplication;
|
import com.hanju.video.app.util.http.HttpApiUtil;
|
import com.hanju.video.app.R;
|
import com.hanju.video.app.entity.ad.AdPositionEnum;
|
import com.hanju.video.app.entity.ad.AdTypeVO;
|
import com.hanju.video.app.ui.dialog.UserProtocolDialog;
|
import com.hanju.video.app.ui.main.MainActivity;
|
import com.hanju.video.app.util.common.AppConfigUtil;
|
import com.hanju.video.app.util.ui.GlideRoundTransform;
|
import com.hanju.video.app.util.HanJuConstant;
|
import com.hanju.video.app.util.PermissionsChecker;
|
import com.hanju.video.app.util.ui.SDCardUtil;
|
import com.hanju.video.app.util.UserUtil;
|
import com.hanju.video.app.util.ad.AdUtil;
|
import com.hanju.video.app.util.ad.CSJADConstant;
|
import com.hanju.video.app.util.ad.GDTADConstant;
|
import com.hanju.video.app.util.ad.SplashAdUtil;
|
import com.hanju.video.app.util.ui.StatusBarUtil;
|
import com.hanju.lib.library.util.ManifestDataUtil;
|
import com.hanju.lib.library.util.common.StringUtils;
|
import com.umeng.analytics.MobclickAgent;
|
|
import org.apache.http.Header;
|
import org.json.JSONObject;
|
|
import java.text.SimpleDateFormat;
|
import java.util.Date;
|
|
import androidx.core.app.ActivityCompat;
|
import androidx.core.content.ContextCompat;
|
import androidx.fragment.app.FragmentActivity;
|
|
import static android.content.pm.PackageManager.PERMISSION_DENIED;
|
import static android.content.pm.PackageManager.PERMISSION_GRANTED;
|
|
public class SplashActivity extends FragmentActivity {
|
|
boolean isInput = false;
|
|
private ViewGroup vg_ad;
|
private ViewGroup vg_input;
|
|
private TextView ad_close_time;
|
|
private ImageView iv_logo;
|
|
private static String TAG = "SplashActivity";
|
|
// 所需的全部权限
|
static final String[] PERMISSIONS = new String[]{
|
Manifest.permission.READ_PHONE_STATE
|
};
|
private static final int REQUEST_CODE = 0; // 请求码
|
private PermissionsChecker mPermissionsChecker; // 权限检测器
|
|
@Override
|
protected void onCreate(Bundle savedInstanceState) {
|
super.onCreate(savedInstanceState);
|
if (!this.isTaskRoot()) {// 判断本activity是不是任务空间的源activity,false就是不是系统重新实例化出来的
|
finish();
|
return;
|
}
|
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
|
setContentView(R.layout.activity_splash);
|
|
vg_ad = findViewById(R.id.fl_splash_ad);
|
vg_input = findViewById(R.id.fl_input);
|
ad_close_time = findViewById(R.id.ad_close_time);
|
iv_logo = findViewById(R.id.iv_logo);
|
|
Glide.with(getApplicationContext()).load(R.drawable.ic_launcher).transform(new GlideRoundTransform(getApplicationContext(), 5)).into(iv_logo);
|
|
SharedPreferences preferences = getSharedPreferences("link_page",
|
Context.MODE_PRIVATE);
|
isInput = preferences.getBoolean("isInput", false);
|
mPermissionsChecker = new PermissionsChecker(this);
|
if (!UserUtil.isAgreeUserProtocol(getApplicationContext())&&!HanJuConstant.DEBUG) {
|
showProtocol();
|
} else {
|
vg_ad.post(new Runnable() {
|
@Override
|
public void run() {
|
myRequetPermission();
|
}
|
});
|
}
|
|
}
|
|
|
private void showProtocol() {
|
String data = "尊敬的用户:<br>感谢您对" + getResources().getString(R.string.app_name) + "一直以来的信任!<br>";
|
data += "我们非常尊重并保护您的个人信息、隐私。为了更好的保障您的权利,在您使用我们的产品之前,请您务必审慎阅读";
|
data += String.format("<a href='%s'>《隐私政策》</a>和", HanJuConstant.PRIVACY_POLICY);
|
data += String.format("<a href='%s'>《用户协议》</a>", HanJuConstant.USER_AGREEMENT);
|
data += "内的所有条款,<b>尤其是:<br>" +
|
"1、我们对您的个人信息(包括但不限于<font color='#FF0000'>设备MAC地址、IMEI/Android ID</font>等信息)的收集/保存/使用/对外提供/保护等规则条款,以及您的用户权利等条款;<br>" +
|
"2、约定我们的限制责任、免责条款;<br>" +
|
"3、其他以加粗或斜体字进行标识的重要条款。</b><br>" +
|
"如您对协议有任何疑虑,可通过电子邮箱: xcwapp@qq.com 向我们询问,我们将为您竭诚解答。您点击“同意”的行为代表您已阅读完毕并接受以上协议全部条款。如您同意以上协议内容,请您点击“同意”,开始使用您的产品。";
|
|
if (!UserUtil.isAgreeUserProtocol(getApplicationContext()) && !HanJuConstant.DEBUG) {
|
new UserProtocolDialog.Builder(SplashActivity.this).setNegativeButton("不同意", new DialogInterface.OnClickListener() {
|
@Override
|
public void onClick(DialogInterface dialog, int which) {
|
finish();
|
}
|
}).setPositiveButton("同意", new DialogInterface.OnClickListener() {
|
@Override
|
public void onClick(DialogInterface dialog, int which) {
|
dialog.dismiss();
|
UserUtil.agreeUserProtocol(getApplicationContext());
|
|
//请求权限
|
vg_ad.post(new Runnable() {
|
@Override
|
public void run() {
|
|
new PermissionAuthNotifyDialog.Builder(SplashActivity.this).setPositiveButton(null, new DialogInterface.OnClickListener() {
|
@Override
|
public void onClick(DialogInterface dialogInterface, int i) {
|
dialogInterface.dismiss();
|
myRequetPermission();
|
}
|
}).create().show();
|
|
|
}
|
});
|
|
}
|
}).setData(data).create().show();
|
}
|
}
|
|
|
@Override
|
public void onResume() {
|
super.onResume();
|
}
|
|
private void getUid() {
|
final SharedPreferences preferences = getSharedPreferences("user",
|
Context.MODE_PRIVATE);
|
String channel = ManifestDataUtil.getAppMetaData(SplashActivity.this, "UMENG_CHANNEL");
|
HttpApiUtil.getUid(this, channel, HttpApiUtil.getDeviceId(this), preferences.getString("imei", ""),
|
preferences.getString("mac", ""), "", "",
|
new BasicTextHttpResponseHandler() {
|
|
@Override
|
public void onSuccessPerfect(int statusCode,
|
Header[] headers, JSONObject jsonObject)
|
throws Exception {
|
if (jsonObject.getBoolean("IsPost")) {
|
JSONObject data = jsonObject.getJSONObject("Data");
|
preferences.edit()
|
.putString(
|
"uid", data
|
|
.optString("Uid"))
|
.putString("COMMENT_ALERT", data
|
.optString("COMMENT_ALERT"))
|
.putInt("ShowAd", Integer.parseInt(data
|
.optString("ShowAd")))
|
.putString(
|
"share_url",
|
data
|
.optString("ShareUrl"))
|
.putString(
|
"shopurl",
|
data
|
.optString("shopurl"))
|
.putString(
|
"share_content",
|
data
|
.optString("ShareContent"))
|
.putString(
|
"share_url_wechat",
|
data
|
.optString("WXShareUrl"))
|
.putString(
|
"share_content_wechat",
|
data
|
.optString("WXShareContent"))
|
.putString(
|
"show_more_app",
|
data
|
.optString("ShowMoreApp"))
|
.putString(
|
"evalueate",
|
data
|
.optString("evalueate"))
|
.putString(
|
"share_image_wechat",
|
data
|
.optString("WXShareIcon"))
|
// .putString(
|
// "show_ad",
|
// jsonObject.optJSONObject("Data")
|
// .optString("ShowAd"))
|
.putString(
|
"tuiguang_add",
|
data
|
.optString("TuiGuang"))
|
.putString(
|
"top_icon",
|
data
|
.optString("TopIcon"))
|
.putString(
|
"zixun",
|
data
|
.optString("ZiXun"))
|
.commit();
|
|
HttpApiUtil.ERROR_NOTICE = data.optString(
|
"NoticeContent");
|
|
HanJuConstant.AD_CLICK_DOWNLOAD = data
|
.optBoolean("adClickDownload");
|
if (HanJuConstant.AD_CLICK_DOWNLOAD) {
|
HanJuConstant.GDT_RECOMMAND_MIN_NATIVE = HanJuConstant.GDT_DOWNLOAD_HINT_ID;
|
HanJuConstant.GDT_RECOMMAND_NATIVE = HanJuConstant.GDT_DOWNLOAD_HINT_ID;
|
HanJuConstant.GDT_RECOMMEND_CATEGORY_MIN_NATIVE = HanJuConstant.GDT_DOWNLOAD_HINT_ID;
|
HanJuConstant.GDT_PLAYER_NATIVE1 = HanJuConstant.GDT_DOWNLOAD_HINT_ID;
|
HanJuConstant.GDT_SEARCH_NATIVE = HanJuConstant.GDT_DOWNLOAD_HINT_ID;
|
HanJuConstant.GDT_DISCOVER_NATIVE = HanJuConstant.GDT_DOWNLOAD_HINT_ID;
|
HanJuConstant.GDT_GUESS_LIKE_NATIVE = HanJuConstant.GDT_DOWNLOAD_HINT_ID;
|
HanJuConstant.GDT_RECOMMEND_CATEGORY_NATIVE = HanJuConstant.GDT_DOWNLOAD_HINT_ID;
|
HanJuConstant.GDT_SEARCH_RESULT_MIN_NATIVE = HanJuConstant.GDT_DOWNLOAD_HINT_ID;
|
HanJuConstant.GDT_PLAYER_DETAIL = HanJuConstant.GDT_DOWNLOAD_HINT_ID;
|
HanJuConstant.GDT_CATEGORY_BANNER = HanJuConstant.GDT_DOWNLOAD_HINT_ID;
|
GDTADConstant.PID_HOME_RECOMMEND_BIG_IMG = HanJuConstant.GDT_DOWNLOAD_HINT_ID;
|
GDTADConstant.PID_2_VIDEO_DETAIL_PLAY_EXPRESS1 = HanJuConstant.GDT_DOWNLOAD_HINT_ID;
|
GDTADConstant.PID_2_VIDEO_DETAIL_PLAY_EXPRESS2 = HanJuConstant.GDT_DOWNLOAD_HINT_ID;
|
GDTADConstant.PID_2_VIDEO_LIST_SMALL_AD_COLUMN3 = HanJuConstant.GDT_DOWNLOAD_HINT_ID;
|
GDTADConstant.PID_2_VIDEO_LIST_SMALL_AD_COLUMN2 = HanJuConstant.GDT_DOWNLOAD_HINT_ID;
|
GDTADConstant.PID_HOME_RECOMMEND_BIG_IMG = HanJuConstant.GDT_DOWNLOAD_HINT_ID;
|
|
CSJADConstant.RECOMMEND_BIG_IMG_AD = CSJADConstant.INVALID_AD;
|
}
|
|
//获取广告
|
String adType = data.optString("adType");
|
if (!com.hanju.video.app.util.downutils.StringUtils.isNullOrEmpty(adType)) {
|
AdTypeVO ad = new Gson().fromJson(adType, AdTypeVO.class);
|
if (ad != null)
|
HanJuConstant.AD_TYPE = ad;
|
}
|
}
|
}
|
|
@Override
|
public void onStart() {
|
super.onStart();
|
}
|
|
@Override
|
public void onFinish() {
|
super.onFinish();
|
}
|
});
|
}
|
|
class AddAliasTask extends AsyncTask<Void, Void, Boolean> {
|
|
String alias;
|
String aliasType;
|
|
public AddAliasTask(String aliasString, String aliasTypeString) {
|
this.alias = aliasString;
|
this.aliasType = aliasTypeString;
|
}
|
|
protected Boolean doInBackground(Void... params) {
|
try {
|
// return mPushAgent.addAlias(alias, aliasType);
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
return false;
|
}
|
}
|
|
@Override
|
public void onPause() {
|
super.onPause();
|
}
|
|
private String getDay(long time) {
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
String date = format.format(new Date(time));
|
return date;
|
}
|
|
@Override
|
public boolean onKeyDown(int keyCode, KeyEvent event) {
|
if (keyCode == KeyEvent.KEYCODE_BACK)
|
return false;
|
else
|
return super.onKeyDown(keyCode, event);
|
}
|
|
@Override
|
protected void onDestroy() {
|
super.onDestroy();
|
}
|
|
|
boolean isFinish = false;
|
|
private void toMainActivity() {
|
if (!isFinish) {
|
isFinish = true;
|
Intent intent = new Intent(SplashActivity.this, MainActivity.class);
|
startActivity(intent);
|
finish();
|
}
|
}
|
|
/**
|
* 加载开屏广告
|
*/
|
private void loadSplashAd() {
|
AdUtil.AD_TYPE splashType = AdUtil.getAdType(getApplicationContext(), AdPositionEnum.splash);
|
String pid = AdUtil.getAdPid(getApplicationContext(), AdPositionEnum.splash);
|
if (StringUtils.isBlank(pid)) {
|
vg_ad.postDelayed(new Runnable() {
|
@Override
|
public void run() {
|
toMainActivity();
|
}
|
}, 2000);
|
return;
|
}
|
|
|
SplashAdUtil.loadAD(splashType, SplashActivity.this, vg_input, vg_ad, ad_close_time, new SplashAdUtil.SplashAdListener() {
|
@Override
|
public void close() {
|
runOnUiThread(new Runnable() {
|
@Override
|
public void run() {
|
toMainActivity();
|
}
|
});
|
}
|
|
@Override
|
public void noAd() {//初次加载未加载出广告
|
if (AdUtil.AD_TYPE.csj == splashType) {
|
//再次加载广点通广告
|
SplashAdUtil.loadAD(AdUtil.AD_TYPE.gdt, SplashActivity.this, vg_input, vg_ad, ad_close_time, new SplashAdUtil.SplashAdListener() {
|
@Override
|
public void close() {
|
runOnUiThread(new Runnable() {
|
@Override
|
public void run() {
|
toMainActivity();
|
}
|
});
|
}
|
|
@Override
|
public void noAd() {
|
runOnUiThread(new Runnable() {
|
@Override
|
public void run() {
|
toMainActivity();
|
}
|
});
|
}
|
});
|
|
} else if (AdUtil.AD_TYPE.gdt == splashType) {
|
//再次加载穿山甲广告
|
//再次加载广点通广告
|
SplashAdUtil.loadAD(AdUtil.AD_TYPE.csj, SplashActivity.this, vg_input, vg_ad, ad_close_time, new SplashAdUtil.SplashAdListener() {
|
@Override
|
public void close() {
|
runOnUiThread(new Runnable() {
|
@Override
|
public void run() {
|
toMainActivity();
|
}
|
});
|
}
|
|
@Override
|
public void noAd() {
|
runOnUiThread(new Runnable() {
|
@Override
|
public void run() {
|
toMainActivity();
|
}
|
});
|
}
|
});
|
|
} else {
|
runOnUiThread(new Runnable() {
|
@Override
|
public void run() {
|
toMainActivity();
|
}
|
});
|
}
|
}
|
});
|
}
|
|
int delayMs = 1000;
|
|
private void myRequetPermission() {
|
SharedPreferences sharedPreferences = getSharedPreferences("permission", Context.MODE_PRIVATE);
|
boolean showPermission = sharedPreferences.getBoolean("show", true);
|
|
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) != PERMISSION_GRANTED && showPermission) {
|
ActivityCompat.requestPermissions(this, PERMISSIONS, REQUEST_CODE);
|
} else {
|
if (!HanJuApplication.inited) {
|
HanJuApplication.init(HanJuApplication.application, new HanJuApplication.InitListener() {
|
@Override
|
public void onFinish() {
|
|
}
|
});
|
delayMs = 1;
|
}
|
getUid();
|
vg_ad.postDelayed(new Runnable() {
|
@Override
|
public void run() {
|
if (!HanJuConstant.AD_SETTING_KAIPIN)
|
toMainActivity();
|
HttpApiUtil.getConfig(getApplicationContext(), new BasicTextHttpResponseHandler() {
|
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
if (jsonObject != null) {
|
if (jsonObject.getBoolean("IsPost")) {
|
JSONObject data = jsonObject.getJSONObject("Data");
|
JSONObject ad = data.optJSONObject("adNew");
|
AppConfigUtil.savePlayerJumpOutProtocolPrefix(getApplicationContext(), data.optString("jumpAppProtocolPrefix"));
|
//保存广告的应用ID
|
String gdtAppId = ad.optString("gdtAppId");
|
String csjAppId = ad.optString("csjAppId");
|
AppConfigUtil.saveADAPPId(getApplicationContext(), gdtAppId, csjAppId);
|
AppConfigUtil.saveConcatUsLink(getApplicationContext(), data.optString("contactUsLink"));
|
AppConfigUtil.saveUnRegisterLink(getApplicationContext(), data.optString("unRegisterLink"));
|
AdUtil.saveAdConfig(getApplicationContext(), ad);
|
HanJuApplication.initAd(HanJuApplication.application, gdtAppId, csjAppId, new HanJuApplication.InitListener() {
|
@Override
|
public void onFinish() {
|
runOnUiThread(new Runnable() {
|
@Override
|
public void run() {
|
loadSplashAd();
|
}
|
});
|
}
|
});
|
return;
|
}
|
}
|
loadSplashAd();
|
}
|
|
|
@Override
|
public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
|
super.onFailure(statusCode, headers, responseString, throwable);
|
loadSplashAd();
|
}
|
});
|
|
|
}
|
}, delayMs);
|
|
|
}
|
}
|
|
|
@Override
|
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
|
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
if (requestCode == REQUEST_CODE) {
|
for (int i = 0; i < permissions.length; i++) {
|
if (grantResults[i] == PERMISSION_GRANTED) {//选择了“始终允许”
|
myRequetPermission();
|
} else {
|
if (grantResults[i] == PERMISSION_DENIED) {
|
//记住permission
|
SharedPreferences sharedPreferences = getSharedPreferences("permission", Context.MODE_PRIVATE);
|
SharedPreferences.Editor editor = sharedPreferences.edit();
|
editor.putBoolean("show", false);
|
editor.commit();
|
}
|
myRequetPermission();
|
}
|
}
|
}
|
}
|
|
@Override
|
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
super.onActivityResult(requestCode, resultCode, data);
|
}
|
|
|
}
|