MGVideo/AndroidManifest.xml
@@ -59,9 +59,7 @@ <activity android:name=".ui.mine.SettingsActivity" android:label="@string/app_name"></activity> <activity android:name=".ui.login.LoginActivity" android:label="@string/app_name"></activity> <activity android:name=".ui.mine.HelpAndTicklingActivity" android:label="@string/app_name"></activity> @@ -109,9 +107,7 @@ android:name=".ui.mine.BrowserActivity" android:label="@string/app_name" android:windowSoftInputMode="stateHidden|adjustResize"></activity> <activity android:name=".ui.login.ForgetPwdActivity" android:label="@string/app_name"></activity> <activity android:name=".ui.discover.GoodsDetailActivity" android:label="@string/app_name"></activity> @@ -121,12 +117,7 @@ <activity android:name=".ui.discover.SpecificListActivity" android:label="@string/app_name"></activity> <activity android:name=".ui.login.PersonInfoActivity" android:label="@string/app_name"></activity> <activity android:name=".ui.login.RegisterActivity" android:label="@string/app_name"></activity> <activity android:name=".ui.LinkPageActivity" android:label="@string/app_name"></activity> @@ -152,7 +143,7 @@ <!-- targetSDKVersion >= 24时才需要添加这个provider。provider的authorities属性的值为${applicationId}.fileprovider,请开发者根据自己的${applicationId}来设置这个值,例如本例中applicationId为"com.qq.e.union.demo"。 --> <provider android:name="androidx.core.content.FileProvider" android:authorities="com.doudou.ysvideo.fileprovider" android:authorities="com.mugua.mgvideo.fileprovider" android:exported="false" android:grantUriPermissions="true"> <meta-data @@ -197,7 +188,7 @@ android:value="2.5" /> <meta-data android:name="UMENG_CHANNEL" android:value="GuanWang"></meta-data> android:value="huawei"></meta-data> <meta-data MGVideo/build.gradle
@@ -31,7 +31,6 @@ implementation project(path: ':library-BaiduCPU') //加载动画库 implementation 'com.github.ybq:Android-SpinKit:1.4.0' implementation project(path: ':library-base') @@ -80,8 +79,8 @@ } defaultConfig { applicationId "com.mugua.mgvideo" versionCode 83 versionName "2.4.3" versionCode 84 versionName "2.4.4" multiDexEnabled = true ndk { abiFilters "armeabi-v7a", "x86", "armeabi" @@ -96,10 +95,24 @@ // manifestPlaceholders = [app_icon: "@drawable/app_icon",splashLayout:"activity_splash_ysdqjj"] resValue "string", "app_name", "木瓜影视大全" resValue "string", "agreement", "http://111.231.250.166/mugua/userAgreenment.html" resValue "string", "privacy", "http://111.231.250.166/mugua/privacyPolicy.html" resValue "string", "about_us_url", "http://111.231.250.166/mugua/aboutUs.html" resValue "string", "agreement", "http://h5.mugua.yeshitv.com/user_protocol.html" resValue "string", "privacy", "http://h5.mugua.yeshitv.com/privacy.html" resValue "string", "about_us_url", "http://h5.mugua.yeshitv.com/abountOur/index.html" manifestPlaceholders = [app_icon: "@drawable/ic_launcher", splashLayout: "activity_splash"] //木瓜 // resValue "string", "umeng_key", "55360d5b67e58eaf86002c0d" // resValue "string", "qq_id", "1104492673" // resValue "string", "qq_key", "AI6ri4IcDhsacEoP" // resValue "string", "ad_csj_app_id", "5123000" //华为木瓜 // resValue "string", "umeng_key", "56a1dfbe67e58e6bb10002a2" // resValue "string", "qq_id", "" // resValue "string", "qq_key", "" // resValue "string", "ad_csj_app_id", "5123000" } // productFlavors { MGVideo/res/drawable/shape_video_detail_episode_selected.xml
File was deleted MGVideo/res/drawable/shape_video_detail_episode_unselected.xml
File was deleted MGVideo/res/layout/act_login.xml
File was deleted MGVideo/res/layout/activity_register.xml
File was deleted MGVideo/res/layout/item_movie.xml
@@ -32,6 +32,7 @@ android:layout_width="29.5dp" android:layout_height="17.5dp" android:layout_gravity="top|right" android:layout_marginRight="3dp" android:src="@drawable/icon_video_vip" /> <ImageView MGVideo/res/layout/recommend_fragment.xml
@@ -59,6 +59,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="top|right" android:visibility="gone" android:src="@drawable/ic_red_point"></ImageView> </FrameLayout> </RelativeLayout> MGVideo/res/layout/search_actvity.xml
@@ -179,7 +179,7 @@ android:layout_height="wrap_content" android:padding="6dp" android:text="猜你喜欢" android:visibility="visible" /> android:visibility="gone" /> <com.lcjian.library.widget.MyGridView android:id="@+id/gv_video_guess_like" MGVideo/res/values/strings.xml
@@ -1,9 +1,9 @@ <resources> <!-- <string name="app_name">木瓜影视大全</string>--> <!-- <string name="agreement">http://111.231.250.166/mugua/userAgreenment.html</string>--> <!-- <string name="privacy">http://111.231.250.166/mugua/privacyPolicy.html</string>--> <!-- <string name="about_us_url">木瓜影视大全</string>--> <!-- <string name="app_name">木瓜影视大全</string>--> <!-- <string name="agreement">http://111.231.250.166/mugua/userAgreenment.html</string>--> <!-- <string name="privacy">http://111.231.250.166/mugua/privacyPolicy.html</string>--> <!-- <string name="about_us_url">木瓜影视大全</string>--> <string name="recommend">推荐</string> @@ -19,7 +19,7 @@ <string name="download_url">下载链接</string> <string name="my_score">我的成绩</string> <string name="my_accumulate">我的积分</string> <string name="user_agreement">用户使用协议&隐私条款</string> <string name="user_agreement">用户使用协议</string> <string name="rule_email">0123456789abcdefghijklmnopqrstuvwxyz@.</string> <string name="rule_password">0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`¬!"£$%^*()~=#{}[];':,./?/*-_+<>@&</string> <string name="share_to">分享软件</string> @@ -85,5 +85,9 @@ <string name="review_edit">我也来说两句...</string> <string name="review_deliver">发表</string> <string name="umeng_key">55360d5b67e58eaf86002c0d</string> <string name="qq_id">1104492673</string> <string name="qq_key">AI6ri4IcDhsacEoP</string> </resources> MGVideo/src/com/mugua/mgvideo/MGVideoAPI.java
@@ -1268,7 +1268,7 @@ public static void commonGet(Context context, String url, LinkedHashMap<String, String> params, ResponseHandlerInterface handler, boolean asyn) { params.put("Package", context.getPackageName()); params.put("Package",PackageUtils2.getPackageName(context)); LinkedHashMap<String, String> map = validateParams(params, context); RequestParams requestParams = new RequestParams(map); @@ -1303,7 +1303,7 @@ private static void commonPost(Context context, String url, LinkedHashMap<String, String> params, HashMap<String, File> files, ResponseHandlerInterface handler, boolean asyn) { params.put("Package", "com.mugua.mgvideo");//context.getPackageName() params.put("Package", PackageUtils2.getPackageName(context));//context.getPackageName() int version = PackageUtils2.getVersionCode(context); params.put("Version", version + ""); MGVideo/src/com/mugua/mgvideo/MGVideoApplication.java
@@ -16,6 +16,7 @@ import com.funshion.playsdk.callback.FunshionPlayInitCallback; import com.funshion.playsdk.register.IAuthCodeGetter; import com.lcjian.library.util.ManifestDataUtil; import com.lcjian.library.util.common.PackageUtils2; import com.mugua.mgvideo.util.CrashHandler; import com.mugua.mgvideo.util.FunshionConstant; import com.mugua.mgvideo.util.UserUtil; @@ -66,7 +67,7 @@ // } super.onCreate(); //同意用户协议 if (UserUtil.isAgreeUserProtocol(this)) { if (UserUtil.isAgreeUserProtocol(this) || BeibeiConstant.DEBUG) { init(this); } } @@ -93,7 +94,7 @@ }); // PlatformConfig.setWeixin(BeibeiConstant.WECHAT_ID, // BeibeiConstant.WECHAT_KEY); PlatformConfig.setQQZone(BeibeiConstant.QQ_ID, BeibeiConstant.QQ_KEY); PlatformConfig.setQQZone(application.getString(R.string.qq_id), application.getString(R.string.qq_key)); // PlatformConfig.setSinaWeibo(BeibeiConstant.SINA_ID, // BeibeiConstant.SINA_KEY, // "http://sns.whalecloud.com/sina2/callback"); @@ -171,7 +172,7 @@ public static String getVersionName(Context context) { try { PackageInfo pi = context.getPackageManager().getPackageInfo( context.getPackageName(), 0); PackageUtils2.getPackageName(context), 0); return pi.versionName; } catch (NameNotFoundException e) { e.printStackTrace(); @@ -209,7 +210,7 @@ */ private static void initAd(Application application) { TTAdManagerHolder.init(application); GDTADManager.getInstance().initWith(application, GDTConstant.GDT_APP_ID); GDTADManager.getInstance().initWith(application, application.getString(R.string.ad_gdt_app_id)); } MGVideo/src/com/mugua/mgvideo/entity/HomeType.java
@@ -2,6 +2,7 @@ import com.google.gson.annotations.Expose; import com.mugua.mgvideo.ui.category.bean.HotStar; import com.yeshi.base.entity.JumpDetail; import com.yeshi.base.entity.video.VideoInfo; import java.io.Serializable; MGVideo/src/com/mugua/mgvideo/entity/JumpDetail.java
File was deleted MGVideo/src/com/mugua/mgvideo/ui/SplashActivity.java
@@ -371,7 +371,7 @@ public void run() { toMainActivity(); } },2000); }, 2000); } }); MGVideo/src/com/mugua/mgvideo/ui/common/VideosFragment.java
@@ -27,6 +27,7 @@ import com.mugua.mgvideo.MGVideoAPI; import com.mugua.mgvideo.R; import com.mugua.mgvideo.ui.category.CategoryListAdapter; import com.yeshi.base.entity.ad.AdPositionEnum; import com.yeshi.base.utils.BeibeiConstant; import com.qq.e.ads.cfg.VideoOption; import com.qq.e.ads.nativ.ADSize; @@ -36,6 +37,7 @@ import com.umeng.analytics.MobclickAgent; import com.yeshi.base.entity.video.VideoInfo; import com.yeshi.base.entity.video.VideoType; import com.yeshi.base.utils.ad.AdUtil; import com.yeshi.base.utils.ad.GDTConstant; import com.yeshi.base.utils.http.BasicTextHttpResponseHandler; @@ -131,7 +133,7 @@ @Override public void onRefresh() { mCurrentPage = 1; if (BeibeiConstant.ADSHOW) { if (AdUtil.getAdType(getContext(), AdPositionEnum.other) != null) { loadAD(); } else { getVideoList(); @@ -181,7 +183,7 @@ @Override public void run() { if (BeibeiConstant.ADSHOW) { if (AdUtil.getAdType(getContext(), AdPositionEnum.other) != null) { loadAD(); } else { getVideoList(); @@ -227,7 +229,7 @@ mGridVideoAdapter.notifyDataSetChanged(); // 需要添加广点通原生广告的时候执行以下条件语句,否则取消 if (videoInfos != null && videoInfos.size() == 30 && BeibeiConstant.ADSHOW) { && AdUtil.getAdType(getContext(), AdPositionEnum.other) != null) { loadAD(); } if ((videoInfos == null || videoInfos.size() == 0) @@ -269,7 +271,7 @@ mCurrentPage = 1; view.findViewById(R.id.v_1).setVisibility(View.VISIBLE); view.findViewById(R.id.v_2).setVisibility(View.GONE); if (BeibeiConstant.ADSHOW) { if (AdUtil.getAdType(getContext(), AdPositionEnum.other) != null) { loadAD(); } else { getVideoList(); @@ -281,7 +283,7 @@ mCurrentPage = 1; view.findViewById(R.id.v_1).setVisibility(View.GONE); view.findViewById(R.id.v_2).setVisibility(View.VISIBLE); if (BeibeiConstant.ADSHOW) { if (AdUtil.getAdType(getContext(), AdPositionEnum.other) != null) { loadAD(); } else { getVideoList(); MGVideo/src/com/mugua/mgvideo/ui/discover/GoodsDetailActivity.java
@@ -97,20 +97,20 @@ /* * 计算状态栏高度并设置 */ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { Window window = getWindow(); window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); int result = 0; int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android"); if (resourceId > 0) { result = getResources().getDimensionPixelSize(resourceId); } FrameLayout.LayoutParams params = new FrameLayout.LayoutParams( FrameLayout.LayoutParams.MATCH_PARENT, result); findViewById(R.id.v_status_bar).setLayoutParams(params); } // if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { // Window window = getWindow(); // window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, // WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); // int result = 0; // int resourceId = getResources().getIdentifier("status_bar_height", // "dimen", "android"); // if (resourceId > 0) { // result = getResources().getDimensionPixelSize(resourceId); // } // FrameLayout.LayoutParams params = new FrameLayout.LayoutParams( // FrameLayout.LayoutParams.MATCH_PARENT, result); // findViewById(R.id.v_status_bar).setLayoutParams(params); // } View topView = LayoutInflater.from(this).inflate( R.layout.item_goods_detail_top, null); View bottom = LayoutInflater.from(this).inflate( MGVideo/src/com/mugua/mgvideo/ui/discover/GoodsReviewPopupWindow.java
@@ -26,11 +26,11 @@ import com.lcjian.library.util.common.StringUtils; import com.mugua.mgvideo.R; import com.yeshi.base.ui.LoginActivity; import com.yeshi.base.utils.http.BasicTextHttpResponseHandler; import com.mugua.mgvideo.MGVideoAPI; import com.mugua.mgvideo.entity.GoodsComments; import com.mugua.mgvideo.entity.UserInfo; import com.mugua.mgvideo.ui.login.LoginActivity; import de.greenrobot.event.EventBus; MGVideo/src/com/mugua/mgvideo/ui/login/ForgetPwdActivity.java
File was deleted MGVideo/src/com/mugua/mgvideo/ui/login/LoginActivity.java
File was deleted MGVideo/src/com/mugua/mgvideo/ui/login/PersonInfoActivity.java
File was deleted MGVideo/src/com/mugua/mgvideo/ui/login/RegisterActivity.java
File was deleted MGVideo/src/com/mugua/mgvideo/ui/main/MineFragment.java
@@ -40,17 +40,18 @@ import com.lcjian.library.util.common.StringUtils; import com.mugua.mgvideo.R; import com.mugua.mgvideo.ui.mine.SuggestionActivity; import com.mugua.mgvideo.util.ConfigUtil; import com.umeng.analytics.MobclickAgent; import com.umeng.socialize.ShareAction; import com.umeng.socialize.UMShareListener; import com.umeng.socialize.bean.SHARE_MEDIA; import com.umeng.socialize.media.UMWeb; import com.yeshi.base.ui.LoginActivity; import com.yeshi.base.ui.PersonInfoActivity; import com.yeshi.base.utils.http.BasicTextHttpResponseHandler; import com.mugua.mgvideo.MGVideoAPI; import com.mugua.mgvideo.db.MessageTable; import com.mugua.mgvideo.entity.Banner; import com.mugua.mgvideo.ui.login.LoginActivity; import com.mugua.mgvideo.ui.mine.BrowserActivity; import com.mugua.mgvideo.ui.mine.MyFavouriteActivity; import com.mugua.mgvideo.ui.mine.SettingsActivity; @@ -290,7 +291,7 @@ } } break; case R.id.rl_suggestion: {// 帮助与反馈 case R.id.rl_suggestion: {// 关于我们 // Intent intent = new Intent(getActivity(), // HelpAndTicklingActivity.class); // startActivity(intent); MGVideo/src/com/mugua/mgvideo/ui/main/RecommendNewFragment.java
@@ -39,7 +39,6 @@ import com.mugua.mgvideo.entity.HomeType; import com.mugua.mgvideo.entity.HomeTypeItem; import com.mugua.mgvideo.entity.HomeVideo; import com.mugua.mgvideo.entity.JumpDetail; import com.mugua.mgvideo.entity.recommend.HomeClass; import com.mugua.mgvideo.test.MyViewPager; import com.mugua.mgvideo.ui.category.bean.HotStar; @@ -47,12 +46,14 @@ import com.mugua.mgvideo.ui.recommend.RecommendTopAdapter; import com.mugua.mgvideo.ui.recommend.SearchActivity; import com.mugua.mgvideo.util.DimenUtils; import com.mugua.mgvideo.util.JumpActivityUtil; import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator; import com.umeng.analytics.MobclickAgent; import com.viewpagerindicator.LinePageIndicator; import com.yeshi.base.entity.JumpDetail; import com.yeshi.base.entity.ad.AdPositionEnum; import com.yeshi.base.entity.ad.ExpressAdContainer; import com.yeshi.base.entity.video.VideoInfo; import com.yeshi.base.utils.JumpActivityUtil; import com.yeshi.base.utils.RouteConstant; import com.yeshi.base.utils.ad.AdUtil; import com.yeshi.base.utils.ad.CSJConstant; @@ -431,6 +432,9 @@ private List<ExpressAdContainer> adList; private void loadAd() { if (AdUtil.getAdType(getContext(), AdPositionEnum.other) == null) return; try { ExpressAdManager recommendAdManager = new ExpressAdManager(AdUtil.AD_TYPE.csj, context); //加载大图 MGVideo/src/com/mugua/mgvideo/ui/mine/SettingsActivity.java
@@ -30,6 +30,7 @@ import com.bumptech.glide.Glide; import com.lcjian.library.util.common.StringUtils; import com.mugua.mgvideo.R; import com.mugua.mgvideo.util.ConfigUtil; import com.umeng.analytics.MobclickAgent; import com.mugua.mgvideo.entity.SDCardEntity; import com.mugua.mgvideo.ui.BaseActivity; @@ -40,291 +41,292 @@ import com.ysh.wpc.appupdate.AppUpdate; public class SettingsActivity extends BaseActivity implements OnClickListener, OnCheckedChangeListener { OnCheckedChangeListener { private TextView tv_top_bar_left; private TextView tv_top_bar_middle; private TextView tv_version_name;// 版本号 private TextView tv_top_bar_left; private TextView tv_top_bar_middle; private TextView tv_version_name;// 版本号 private CheckBox chb_only_wifi_download; private RelativeLayout rl_clear_cache; private RelativeLayout rl_about_us; private RelativeLayout rl_check_update;// 检查更新 private RelativeLayout rl_disclaimer; private CheckBox chb_only_wifi_download; private RelativeLayout rl_clear_cache; private RelativeLayout rl_about_us; private RelativeLayout rl_check_update;// 检查更新 private RelativeLayout rl_disclaimer; private Button btn_exit;// 离开按钮 private View view_sdcard; private TextView tv_mobile; private TextView tv_sdcard; private CheckBox cb_mobile; private CheckBox cb_sdcard; private Button btn_exit;// 离开按钮 private View view_sdcard; private TextView tv_mobile; private TextView tv_sdcard; private CheckBox cb_mobile; private CheckBox cb_sdcard; private void chageSize(TextView tv, int start, int end) { SpannableStringBuilder spanBuilder = new SpannableStringBuilder(tv .getText().toString()); private void chageSize(TextView tv, int start, int end) { SpannableStringBuilder spanBuilder = new SpannableStringBuilder(tv .getText().toString()); spanBuilder.setSpan(new TextAppearanceSpan(null, 0, getResources() .getDimensionPixelSize(R.dimen.alphabet_size), null, null), start, end, Spanned.SPAN_EXCLUSIVE_INCLUSIVE); tv.setText(spanBuilder); } spanBuilder.setSpan(new TextAppearanceSpan(null, 0, getResources() .getDimensionPixelSize(R.dimen.alphabet_size), null, null), start, end, Spanned.SPAN_EXCLUSIVE_INCLUSIVE); tv.setText(spanBuilder); } /** 初始化内存显示 */ private void initStorageView() { /** * 初始化内存显示 */ private void initStorageView() { tv_mobile.setText("手机存储: 总量:" + SDCardUtil.getSotrageSize(SDCardUtil .getTotalExternalMemorySize() / (1024 * 1024)) + " 可用:" + SDCardUtil.getSotrageSize(SDCardUtil .getAvailableExternalMemorySize() / (1024 * 1024))); chageSize(tv_mobile, 5, tv_mobile.getText().length()); SDCardEntity entity = SDCardUtil.getSDCardPath(this); if (entity == null) {// 没有外部存储卡 view_sdcard.setVisibility(View.GONE); cb_mobile.setVisibility(View.GONE); } else { tv_sdcard.setText("SD卡存储: 总量:" + SDCardUtil.getSotrageSize(entity.getTotalSize() / (1024 * 1024)) + " 可用:" + SDCardUtil.getSotrageSize(entity.getAvailableSize() / (1024 * 1024))); chageSize(tv_sdcard, 6, tv_sdcard.getText().length()); view_sdcard.setVisibility(View.VISIBLE); cb_mobile.setVisibility(View.VISIBLE); if (SDCardUtil.getDeaultStorage(this) == SDCardUtil.STORAGE_SDCARD) { cb_sdcard.setChecked(true); cb_mobile.setChecked(false); } else { cb_sdcard.setChecked(false); cb_mobile.setChecked(true); } } } tv_mobile.setText("手机存储: 总量:" + SDCardUtil.getSotrageSize(SDCardUtil .getTotalExternalMemorySize() / (1024 * 1024)) + " 可用:" + SDCardUtil.getSotrageSize(SDCardUtil .getAvailableExternalMemorySize() / (1024 * 1024))); chageSize(tv_mobile, 5, tv_mobile.getText().length()); SDCardEntity entity = SDCardUtil.getSDCardPath(this); if (entity == null) {// 没有外部存储卡 view_sdcard.setVisibility(View.GONE); cb_mobile.setVisibility(View.GONE); } else { tv_sdcard.setText("SD卡存储: 总量:" + SDCardUtil.getSotrageSize(entity.getTotalSize() / (1024 * 1024)) + " 可用:" + SDCardUtil.getSotrageSize(entity.getAvailableSize() / (1024 * 1024))); chageSize(tv_sdcard, 6, tv_sdcard.getText().length()); view_sdcard.setVisibility(View.VISIBLE); cb_mobile.setVisibility(View.VISIBLE); if (SDCardUtil.getDeaultStorage(this) == SDCardUtil.STORAGE_SDCARD) { cb_sdcard.setChecked(true); cb_mobile.setChecked(false); } else { cb_sdcard.setChecked(false); cb_mobile.setChecked(true); } } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.settings_activity); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.settings_activity); view_sdcard = findViewById(R.id.rl_storage_sdcard); tv_mobile = (TextView) findViewById(R.id.tv_storage_mobile); tv_sdcard = (TextView) findViewById(R.id.tv_storage_sdcard); cb_mobile = (CheckBox) findViewById(R.id.cb_storage_mobile); cb_sdcard = (CheckBox) findViewById(R.id.cb_storage_sdcard); cb_mobile.setOnCheckedChangeListener(this); cb_sdcard.setOnCheckedChangeListener(this); view_sdcard = findViewById(R.id.rl_storage_sdcard); tv_mobile = (TextView) findViewById(R.id.tv_storage_mobile); tv_sdcard = (TextView) findViewById(R.id.tv_storage_sdcard); cb_mobile = (CheckBox) findViewById(R.id.cb_storage_mobile); cb_sdcard = (CheckBox) findViewById(R.id.cb_storage_sdcard); cb_mobile.setOnCheckedChangeListener(this); cb_sdcard.setOnCheckedChangeListener(this); tv_top_bar_left = (TextView) findViewById(R.id.tv_top_bar_left); tv_top_bar_middle = (TextView) findViewById(R.id.tv_top_bar_middle); tv_top_bar_left.setText("返回"); tv_top_bar_middle.setText("设置"); tv_top_bar_left = (TextView) findViewById(R.id.tv_top_bar_left); tv_top_bar_middle = (TextView) findViewById(R.id.tv_top_bar_middle); tv_top_bar_left.setText("返回"); tv_top_bar_middle.setText("设置"); tv_top_bar_left.setOnClickListener(this); tv_top_bar_left.setOnClickListener(this); chb_only_wifi_download = (CheckBox) findViewById(R.id.chb_only_wifi_download); rl_clear_cache = (RelativeLayout) findViewById(R.id.rl_clear_cache); rl_disclaimer = (RelativeLayout) findViewById(R.id.rl_disclaimer); rl_about_us = (RelativeLayout) findViewById(R.id.rl_about_us); rl_check_update = (RelativeLayout) findViewById(R.id.rl_check_update); tv_version_name = (TextView) findViewById(R.id.tv_version_name); btn_exit = (Button) findViewById(R.id.setting_btn_exit); chb_only_wifi_download = (CheckBox) findViewById(R.id.chb_only_wifi_download); rl_clear_cache = (RelativeLayout) findViewById(R.id.rl_clear_cache); rl_disclaimer = (RelativeLayout) findViewById(R.id.rl_disclaimer); rl_about_us = (RelativeLayout) findViewById(R.id.rl_about_us); rl_check_update = (RelativeLayout) findViewById(R.id.rl_check_update); tv_version_name = (TextView) findViewById(R.id.tv_version_name); btn_exit = (Button) findViewById(R.id.setting_btn_exit); btn_exit.setOnClickListener(this); rl_clear_cache.setOnClickListener(this); rl_disclaimer.setOnClickListener(this); rl_about_us.setOnClickListener(this); rl_check_update.setOnClickListener(this); btn_exit.setOnClickListener(this); rl_clear_cache.setOnClickListener(this); rl_disclaimer.setOnClickListener(this); rl_about_us.setOnClickListener(this); rl_check_update.setOnClickListener(this); final SharedPreferences settings = getSharedPreferences("settings", Context.MODE_PRIVATE); chb_only_wifi_download.setChecked(settings.getBoolean( "only_wifi_download", true)); chb_only_wifi_download .setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { settings.edit() .putBoolean("only_wifi_download", isChecked) .commit(); } }); initStorageView(); tv_version_name.setText("版本号:" + getVersionName(this)); // 离开按钮是否显示 if (StringUtils.isEmpty(getSharedPreferences("user", Context.MODE_PRIVATE).getString("LoginUid", ""))) {// 如果为空字符 btn_exit.setVisibility(View.GONE); } } final SharedPreferences settings = getSharedPreferences("settings", Context.MODE_PRIVATE); chb_only_wifi_download.setChecked(settings.getBoolean( "only_wifi_download", true)); chb_only_wifi_download .setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { settings.edit() .putBoolean("only_wifi_download", isChecked) .commit(); } }); initStorageView(); tv_version_name.setText("版本号:" + getVersionName(this)); // 离开按钮是否显示 if (StringUtils.isEmpty(getSharedPreferences("user", Context.MODE_PRIVATE).getString("LoginUid", ""))) {// 如果为空字符 btn_exit.setVisibility(View.GONE); } } /*** 获取版本号 */ public static String getVersionName(Context context) { try { PackageInfo pi = context.getPackageManager().getPackageInfo( context.getPackageName(), 0); return pi.versionName; } catch (NameNotFoundException e) { e.printStackTrace(); return ""; } } /*** 获取版本号 */ public static String getVersionName(Context context) { try { PackageInfo pi = context.getPackageManager().getPackageInfo( context.getPackageName(), 0); return pi.versionName; } catch (NameNotFoundException e) { e.printStackTrace(); return ""; } } @Override public void onResume() { super.onResume(); BadgeView mBadge = new BadgeView(this, tv_version_name); mBadge.setBackgroundResource(R.drawable.ic_red_dot); mBadge.setTextSize(1); mBadge.setText(""); SharedPreferences preferences = this.getSharedPreferences("update", Context.MODE_PRIVATE); boolean mStatus = preferences.getBoolean("status", false); if (mStatus) { mBadge.show(); } else { mBadge.hide(); } MobclickAgent.onPageStart("设置页"); } @Override public void onResume() { super.onResume(); BadgeView mBadge = new BadgeView(this, tv_version_name); mBadge.setBackgroundResource(R.drawable.ic_red_dot); mBadge.setTextSize(1); mBadge.setText(""); SharedPreferences preferences = this.getSharedPreferences("update", Context.MODE_PRIVATE); boolean mStatus = preferences.getBoolean("status", false); if (mStatus) { mBadge.show(); } else { mBadge.hide(); } MobclickAgent.onPageStart("设置页"); } @Override public void onPause() { super.onPause(); MobclickAgent.onPageEnd("设置页"); } @Override public void onPause() { super.onPause(); MobclickAgent.onPageEnd("设置页"); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.setting_btn_exit:// 点击离开 AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage("确定要退出登录吗?") .setNegativeButton("取消", null) .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Editor edit = getSharedPreferences("user", Context.MODE_PRIVATE).edit(); edit.putString("LoginUid", ""); edit.commit(); MineFragment.isLogin = false;// 改为未登录状态 finish(); } }); builder.create().show(); break; case R.id.rl_check_update:// 点击检查更新 AppUpdate.setAppUpdateActivity(this); Map<String, String> map = new HashMap<>(); map.put("360", "6c8349cc7260ae62e3b1396831a8398f"); map.put("QQ", "d9d4f495e875a2e075a1a4a6e1b9770f"); map.put("GuanWang", "a5771bce93e200c36f7cd9dfd0e5deaa"); if ("360".equalsIgnoreCase(getChannelName())) { AppUpdate.setAppUpdateKey(map.get("360")); } else if ("QQ".equalsIgnoreCase(getChannelName())) { AppUpdate.setAppUpdateKey(map.get("QQ")); } else { AppUpdate.setAppUpdateKey(map.get("GuanWang")); } AppUpdate.initAppUpdate(); break; case R.id.tv_top_bar_left: { finish(); } break; case R.id.rl_clear_cache: { AlertDialog.Builder builder2 = new AlertDialog.Builder(this); builder2.setMessage("确定清空图片缓存?") .setNegativeButton("取消", null) .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { new Thread(new Runnable() { @Override public void run() { Glide.get(SettingsActivity.this) .clearDiskCache(); } }).start(); // ImageLoader.getInstance().clearDiskCache(); Toast.makeText(SettingsActivity.this, "缓存已清空", Toast.LENGTH_SHORT).show(); } }); builder2.create().show(); } break; case R.id.rl_disclaimer: { Intent intent = new Intent(this, BrowserActivity.class); intent.putExtra("url", BeibeiConstant.HOST + "/new_video/" + "api_disclaimer.jsp?package=" + getPackageName()); startActivity(intent); } break; case R.id.rl_about_us: { Intent intent = new Intent(this, BrowserActivity.class); intent.putExtra("url", BeibeiConstant.HOST + "/new_video/" + "api_about_us.jsp?package=" + getPackageName()); startActivity(intent); } break; default: break; } } @Override public void onClick(View v) { switch (v.getId()) { case R.id.setting_btn_exit:// 点击离开 AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage("确定要退出登录吗?") .setNegativeButton("取消", null) .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Editor edit = getSharedPreferences("user", Context.MODE_PRIVATE).edit(); edit.putString("LoginUid", ""); edit.commit(); MineFragment.isLogin = false;// 改为未登录状态 finish(); } }); builder.create().show(); break; case R.id.rl_check_update:// 点击检查更新 AppUpdate.setAppUpdateActivity(this); Map<String, String> map = new HashMap<>(); map.put("360", "6c8349cc7260ae62e3b1396831a8398f"); map.put("QQ", "d9d4f495e875a2e075a1a4a6e1b9770f"); map.put("GuanWang", "a5771bce93e200c36f7cd9dfd0e5deaa"); if ("360".equalsIgnoreCase(getChannelName())) { AppUpdate.setAppUpdateKey(map.get("360")); } else if ("QQ".equalsIgnoreCase(getChannelName())) { AppUpdate.setAppUpdateKey(map.get("QQ")); } else { AppUpdate.setAppUpdateKey(map.get("GuanWang")); } AppUpdate.initAppUpdate(); break; case R.id.tv_top_bar_left: { finish(); } break; case R.id.rl_clear_cache: { AlertDialog.Builder builder2 = new AlertDialog.Builder(this); builder2.setMessage("确定清空图片缓存?") .setNegativeButton("取消", null) .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { new Thread(new Runnable() { @Override public void run() { Glide.get(SettingsActivity.this) .clearDiskCache(); } }).start(); // ImageLoader.getInstance().clearDiskCache(); Toast.makeText(SettingsActivity.this, "缓存已清空", Toast.LENGTH_SHORT).show(); } }); builder2.create().show(); } break; case R.id.rl_disclaimer: { Intent intent = new Intent(this, BrowserActivity.class); intent.putExtra("url", BeibeiConstant.HOST + "/new_video/" + "api_disclaimer.jsp?package=" + getPackageName()); startActivity(intent); } break; case R.id.rl_about_us: { Intent intent = new Intent(this, BrowserActivity.class); intent.putExtra("url", getString(R.string.about_us_url)); startActivity(intent); } break; default: break; } } private String getChannelName() { String channelName = null; try { PackageManager packageManager = getPackageManager(); if (packageManager != null) { // 注意此处为ApplicationInfo 而不是 // ActivityInfo,因为友盟设置的meta-data是在application标签中,而不是某activity标签中,所以用ApplicationInfo ApplicationInfo applicationInfo = packageManager .getApplicationInfo( SettingsActivity.this.getPackageName(), PackageManager.GET_META_DATA); if (applicationInfo != null) { if (applicationInfo.metaData != null) { channelName = applicationInfo.metaData .getString("UMENG_CHANNEL"); } } private String getChannelName() { String channelName = null; try { PackageManager packageManager = getPackageManager(); if (packageManager != null) { // 注意此处为ApplicationInfo 而不是 // ActivityInfo,因为友盟设置的meta-data是在application标签中,而不是某activity标签中,所以用ApplicationInfo ApplicationInfo applicationInfo = packageManager .getApplicationInfo( SettingsActivity.this.getPackageName(), PackageManager.GET_META_DATA); if (applicationInfo != null) { if (applicationInfo.metaData != null) { channelName = applicationInfo.metaData .getString("UMENG_CHANNEL"); } } } } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } return channelName; } } } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } return channelName; } @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (buttonView.getId() == R.id.cb_storage_mobile) { if (isChecked) { SDCardUtil.setDeaultStorage(this, SDCardUtil.STORAGE_MOBILE); cb_sdcard.setChecked(false); } } else { if (isChecked) { SDCardUtil.setDeaultStorage(this, SDCardUtil.STORAGE_SDCARD); cb_mobile.setChecked(false); } } @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (buttonView.getId() == R.id.cb_storage_mobile) { if (isChecked) { SDCardUtil.setDeaultStorage(this, SDCardUtil.STORAGE_MOBILE); cb_sdcard.setChecked(false); } } else { if (isChecked) { SDCardUtil.setDeaultStorage(this, SDCardUtil.STORAGE_SDCARD); cb_mobile.setChecked(false); } } } } @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); AppUpdate.destoryAppUpdate(); } @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); AppUpdate.destoryAppUpdate(); } } MGVideo/src/com/mugua/mgvideo/ui/recommend/RecommendNewAdapter.java
@@ -32,9 +32,9 @@ import com.mugua.mgvideo.ui.category.StarsActivity; import com.mugua.mgvideo.ui.common.VideosLiveActivity; import com.mugua.mgvideo.ui.video.VideoRecommendAdapter; import com.mugua.mgvideo.util.JumpActivityUtil; import com.yeshi.base.entity.ad.ExpressAdContainer; import com.yeshi.base.entity.video.VideoType; import com.yeshi.base.utils.JumpActivityUtil; import com.yeshi.base.utils.ad.ExpressAdManager; import com.yeshi.base.utils.http.BasicTextHttpResponseHandler; import com.ysh.wpc.appupdate.util.StringUtils; MGVideo/src/com/mugua/mgvideo/ui/recommend/RecommendTopAdapter.java
@@ -1,13 +1,7 @@ package com.mugua.mgvideo.ui.recommend; import java.util.Iterator; import java.util.List; import org.json.JSONObject; import android.content.Context; import android.content.Intent; import androidx.viewpager.widget.PagerAdapter; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; @@ -17,103 +11,112 @@ import com.bumptech.glide.Glide; import com.mugua.mgvideo.MGVideoApplication; import com.mugua.mgvideo.entity.HomeAd; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.assist.ImageScaleType; import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer; import com.mugua.mgvideo.entity.HomeAd; import com.yeshi.base.utils.JumpActivityUtil; import com.yeshi.video.ui.VideoDetailActivity; import org.json.JSONObject; import java.util.Iterator; import java.util.List; import androidx.viewpager.widget.PagerAdapter; import static com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions.withCrossFade; public class RecommendTopAdapter extends PagerAdapter { private ImageLoader imageLoader = ImageLoader.getInstance(); private ImageLoader imageLoader = ImageLoader.getInstance(); private DisplayImageOptions options; private DisplayImageOptions options; private List<HomeAd> mHomeAds; private List<HomeAd> mHomeAds; private Context context; private Context context; public RecommendTopAdapter(List<HomeAd> homeAds, Context context) { super(); this.context = context; this.mHomeAds = homeAds; this.options = new DisplayImageOptions.Builder() .resetViewBeforeLoading(true).cacheInMemory(true) .cacheOnDisk(true).imageScaleType(ImageScaleType.EXACTLY) .considerExifParams(true) .displayer(new FadeInBitmapDisplayer(300)).build(); } public RecommendTopAdapter(List<HomeAd> homeAds, Context context) { super(); this.context = context; this.mHomeAds = homeAds; this.options = new DisplayImageOptions.Builder() .resetViewBeforeLoading(true).cacheInMemory(true) .cacheOnDisk(true).imageScaleType(ImageScaleType.EXACTLY) .considerExifParams(true) .displayer(new FadeInBitmapDisplayer(300)).build(); } @Override public int getCount() { return mHomeAds == null ? 0 : mHomeAds.size(); } @Override public int getCount() { return mHomeAds == null ? 0 : mHomeAds.size(); } @Override public Object instantiateItem(ViewGroup container, final int position) { ImageView view = new ImageView(container.getContext()); view.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); view.setScaleType(ScaleType.FIT_XY); view.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = null; if (mHomeAds.get(position).getLinkType() == 1) { intent = new Intent(v.getContext(), VideoDetailActivity.class); intent.putExtra("video_info", mHomeAds.get(position) .getVideo()); } else { try { intent = new Intent(v.getContext(), Class .forName(mHomeAds.get(position).getClazz())); if (mHomeAds.get(position).getParams() != null) { JSONObject object = new JSONObject(mHomeAds .get(position).getParams() .replace("\\", "")); @SuppressWarnings("unchecked") Iterator<String> its = object.keys(); while (its.hasNext()) { String key = its.next(); String value = object.optString(key); intent.putExtra(key, value); intent.putExtra("isPush", true); } } @Override public Object instantiateItem(ViewGroup container, final int position) { ImageView view = new ImageView(container.getContext()); view.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); view.setScaleType(ScaleType.FIT_XY); view.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = null; if (mHomeAds.get(position).getLinkType() == 1) { intent = new Intent(v.getContext(), VideoDetailActivity.class); intent.putExtra("video_info", mHomeAds.get(position) .getVideo()); } else { try { intent = new Intent(v.getContext(), Class .forName(JumpActivityUtil.filterActivityName(mHomeAds.get(position).getClazz()))); if (mHomeAds.get(position).getParams() != null) { JSONObject object = new JSONObject(mHomeAds .get(position).getParams() .replace("\\", "")); @SuppressWarnings("unchecked") Iterator<String> its = object.keys(); while (its.hasNext()) { String key = its.next(); String value = object.optString(key); intent.putExtra(key, value); intent.putExtra("isPush", true); } } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } MGVideoApplication.application.startActivity(intent); } }); Glide.with(context).load(mHomeAds.get(position).getPicture()) .transition(withCrossFade()).into(view); // imageLoader.displayImage(mHomeAds.get(position).getPicture(), view, // options); container.addView(view); return view; } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); MGVideoApplication.application.startActivity(intent); } }); Glide.with(context).load(mHomeAds.get(position).getPicture()) .transition(withCrossFade()).into(view); // imageLoader.displayImage(mHomeAds.get(position).getPicture(), view, // options); container.addView(view); return view; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } @Override public boolean isViewFromObject(View view, Object object) { return view == object; } @Override public boolean isViewFromObject(View view, Object object) { return view == object; } @Override public CharSequence getPageTitle(int position) { return mHomeAds.get(position).getTitle(); } @Override public CharSequence getPageTitle(int position) { return mHomeAds.get(position).getTitle(); } } MGVideo/src/com/mugua/mgvideo/ui/recommend/SearchActivity.java
@@ -35,6 +35,8 @@ import com.qq.e.ads.nativ.NativeExpressADView; import com.qq.e.comm.util.AdError; import com.umeng.analytics.MobclickAgent; import com.yeshi.base.entity.ad.AdPositionEnum; import com.yeshi.base.utils.ad.AdUtil; import com.yeshi.base.utils.ad.GDTConstant; import com.yeshi.base.utils.http.BasicTextHttpResponseHandler; import com.mugua.mgvideo.MGVideoAPI; @@ -211,7 +213,7 @@ getHotSearch(); getHistorySearch(); guessLike();// 聚效广告取消 if (BeibeiConstant.ADSHOW) { if (AdUtil.getAdType(getApplicationContext(), AdPositionEnum.other) != null) { loadAD(); } else { } @@ -386,7 +388,8 @@ } private void loadAD() { // if (AdUtil.getAdType(this, AdPositionEnum.videoSearch) == null) return; NativeExpressAD nativeExpressAD = new NativeExpressAD(this, new ADSize(ADSize.FULL_WIDTH, ADSize.AUTO_HEIGHT), GDTConstant.GDT_APP_ID, GDTConstant.GDT_HOME_AND_PLAY_BIG_PICTURE, new NativeExpressAD.NativeExpressADListener() { @Override MGVideo/src/com/mugua/mgvideo/ui/video/VideoRecommendAdapter.java
@@ -21,8 +21,10 @@ import com.mugua.mgvideo.util.video.VideoUIUtil; import com.qq.e.ads.nativ.NativeUnifiedADData; import com.qq.e.ads.nativ.widget.NativeAdContainer; import com.yeshi.base.entity.ad.AdPositionEnum; import com.yeshi.base.entity.ad.ExpressAdContainer; import com.yeshi.base.entity.video.VideoInfo; import com.yeshi.base.utils.ad.AdUtil; import com.yeshi.base.utils.ad.ExpressAdManager; import com.yeshi.base.utils.ad.GDTConstant; import com.yeshi.base.utils.ad.GDTNativeADUnifiedManager; @@ -380,6 +382,9 @@ if (contentList == null || contentList.size() == 0) return; if (AdUtil.getAdType(mContext, AdPositionEnum.other) == null) return; GDTNativeADUnifiedManager.loadAD(columns == 3 ? GDTConstant.PID_2_VIDEO_LIST_SMALL_AD_COLUMN3 : GDTConstant.PID_2_VIDEO_LIST_SMALL_AD_COLUMN2, 1, mContext, new GDTNativeADUnifiedManager.IAdLoadListener() { @Override public void onSuccess(List<NativeUnifiedADData> adList) { @@ -485,7 +490,7 @@ // params.width = itemWidth; // } // } else { params.width = getItemWidth(p,""); params.width = getItemWidth(p, ""); // } if (viewHolder instanceof VideoHolder) { MGVideo/src/com/mugua/mgvideo/util/ConfigUtil.java
@@ -56,7 +56,6 @@ } /** * 保存播放器外跳协议 * MGVideo/src/com/mugua/mgvideo/util/ExitDialog.java
@@ -14,6 +14,8 @@ import com.qq.e.ads.nativ.NativeExpressAD; import com.qq.e.ads.nativ.NativeExpressADView; import com.qq.e.comm.util.AdError; import com.yeshi.base.entity.ad.AdPositionEnum; import com.yeshi.base.utils.ad.AdUtil; import com.yeshi.base.utils.ad.GDTConstant; import java.util.List; @@ -121,6 +123,8 @@ // 1.加载广告,先设置加载上下文环境和条件 private void nativeAd() { if (AdUtil.getAdType(context, AdPositionEnum.exitApp) == null) return; NativeExpressAD nativeExpressAD = new NativeExpressAD(context, new ADSize(ADSize.FULL_WIDTH, ADSize.AUTO_HEIGHT), GDTConstant.GDT_APP_ID, GDTConstant.GDT_EXIT_DIALOG, new NativeExpressAD.NativeExpressADListener() { @Override MGVideo/src/com/mugua/mgvideo/util/JumpActivityUtil.java
File was deleted MGVideo/src/com/mugua/mgvideo/util/browser/BaseBWJavaInterface.java
@@ -16,7 +16,7 @@ import com.lcjian.library.util.security.MD5Utils; import com.umeng.analytics.MobclickAgent; import com.mugua.mgvideo.MGVideoAPI; import com.mugua.mgvideo.util.JumpActivityUtil; import com.yeshi.base.utils.JumpActivityUtil; import org.json.JSONException; import org.json.JSONObject; MGVideo/src/com/mugua/mgvideo/util/browser/MGJavaInterface.java
@@ -11,7 +11,7 @@ import com.lcjian.library.util.common.StringUtils; import com.tencent.smtt.sdk.WebView; import com.mugua.mgvideo.util.AlibcTradeUtil; import com.mugua.mgvideo.util.JumpActivityUtil; import com.yeshi.base.utils.JumpActivityUtil; import org.json.JSONException; import org.json.JSONObject; library-BaiduCPU/src/main/java/com/yeshi/ec/library_baiducpu/fragment/BaiDuCPUContentFragment.java
@@ -3,10 +3,12 @@ import android.graphics.Canvas; import android.graphics.Rect; import android.os.Bundle; import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import android.util.Log; import android.view.View; import android.view.ViewGroup; @@ -157,6 +159,8 @@ private void initData() { Bundle bundle = getArguments(); BaiDuCPUType item = (BaiDuCPUType) bundle.getSerializable("item"); if (item == null) return; viewType = bundle.getInt("viewType"); bundle.clear(); mChannelId = item.getId(); library-base/src/main/AndroidManifest.xml
@@ -1,5 +1,26 @@ <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.yeshi.ec.base"> package="com.yeshi.base"> <application> <activity android:name=".ui.LoginActivity" android:label="@string/app_name"></activity> <activity android:name=".ui.PersonInfoActivity" android:label="@string/app_name"></activity> <activity android:name=".ui.RegisterActivity" android:label="@string/app_name"></activity> <activity android:name=".ui.ForgetPwdActivity" android:label="@string/app_name"></activity> <activity android:name=".ui.BrowserActivity" android:label="@string/app_name"></activity> </application> </manifest> library-base/src/main/java/com/yeshi/base/entity/ad/AdPositionEnum.java
@@ -7,8 +7,7 @@ exitApp("exitApp"),//APP退出广告 videoSearch("videoSearch"),//搜索页广告 videoDetailFullVideo("videoDetailFullVideo"),//视频全屏广告 pptvNoAdReward("pptvNoAdReward"),//PPTV无广告激励视频 other("其他广告位"); other("other");//其他广告位 private String positionName; library-base/src/main/java/com/yeshi/base/ui/BrowserActivity.java
@@ -21,7 +21,7 @@ import com.yeshi.base.utils.MGJavaInterface; import com.yeshi.base.utils.RouteConstant; import com.yeshi.base.utils.x5.X5WebView; import com.yeshi.ec.base.R; import com.yeshi.base.R; @Route(path = RouteConstant.PATH_WEB_BROWSER) public class BrowserActivity extends BaseActivity implements OnClickListener { library-base/src/main/java/com/yeshi/base/ui/ForgetPwdActivity.java
@@ -24,7 +24,7 @@ import com.yeshi.base.utils.BaseApiUtil; import com.yeshi.base.utils.IsEmail; import com.yeshi.base.utils.http.BasicTextHttpResponseHandler; import com.yeshi.ec.base.R; import com.yeshi.base.R; /** * 忘记密码,修改密码 Created by weikou2015 on 2016/10/27. library-base/src/main/java/com/yeshi/base/ui/LoginActivity.java
@@ -44,7 +44,7 @@ import com.yeshi.base.utils.BaseApiUtil; import com.yeshi.base.utils.RouteConstant; import com.yeshi.base.utils.http.BasicTextHttpResponseHandler; import com.yeshi.ec.base.R; import com.yeshi.base.R; @Route(path = RouteConstant.PATH_USER_LOGIN) public class LoginActivity extends BaseActivity implements OnClickListener { @@ -161,6 +161,7 @@ tv_register.setOnClickListener(this); tv_login.setOnClickListener(this); findViewById(R.id.tv_user_agreement).setOnClickListener(this); findViewById(R.id.tv_privacy).setOnClickListener(this); } @Override @@ -169,6 +170,10 @@ if (id == R.id.login_tv_cancel) {// 取消 finish(); } else if (id == R.id.login_tv_qq) {// QQ登录 if (!cb_user_agreement.isChecked()) { SingleToast.showToast(LoginActivity.this, "选择同意用户协议与隐私政策后方可登陆"); return; } if (isQQClientAvailable()) { loginType = "1"; // qq登录逻辑处理 点击登录后需要暂时锁定返回键和返回功能 不然会报错 @@ -185,13 +190,19 @@ BrowserActivity.class); intent.putExtra("url", getString(R.string.agreement)); startActivity(intent); } else if (id == R.id.tv_privacy) { Intent intent = new Intent(LoginActivity.this, BrowserActivity.class); intent.putExtra("url", getString(R.string.privacy)); startActivity(intent); } else if (id == R.id.tv_register) { startActivity(new Intent(LoginActivity.this, RegisterActivity.class)); } else if (id == R.id.tv_login) { if (cb_user_agreement.isChecked()) emailLogin(); else SingleToast.showToast(LoginActivity.this, "选择同意用户协议后方可登陆"); if (!cb_user_agreement.isChecked()) { SingleToast.showToast(LoginActivity.this, "选择同意用户协议与隐私政策后方可登陆"); return; } emailLogin(); } } library-base/src/main/java/com/yeshi/base/ui/PersonInfoActivity.java
@@ -29,7 +29,7 @@ import com.yeshi.base.utils.BeibeiConstant; import com.yeshi.base.utils.SelectPicUtil; import com.yeshi.base.utils.http.BasicTextHttpResponseHandler; import com.yeshi.ec.base.R; import com.yeshi.base.R; import org.apache.http.Header; import org.json.JSONObject; library-base/src/main/java/com/yeshi/base/ui/RegisterActivity.java
@@ -21,7 +21,7 @@ import com.yeshi.base.utils.BaseApiUtil; import com.yeshi.base.utils.IsEmail; import com.yeshi.base.utils.http.BasicTextHttpResponseHandler; import com.yeshi.ec.base.R; import com.yeshi.base.R; import org.apache.http.Header; import org.json.JSONObject; @@ -35,335 +35,346 @@ */ public class RegisterActivity extends BaseActivity implements View.OnClickListener { View.OnClickListener { private LinearLayout ll_login_content; private ImageView iv_register_top; private EditText et_email; private EditText et_pwd; private EditText et_verfication_code; private TextView tv_obtain_verfication_code; private CheckBox cb_user_agreement; private TextView tv_confirm; private LinearLayout ll_login_content; private ImageView iv_register_top; private EditText et_email; private EditText et_pwd; private EditText et_verfication_code; private TextView tv_obtain_verfication_code; private CheckBox cb_user_agreement; private TextView tv_confirm; @Override protected void onCreate(Bundle arg0) { super.onCreate(arg0); setContentView(R.layout.activity_register); iv_register_top = (ImageView) findViewById(R.id.iv_register_top); et_email = (EditText) findViewById(R.id.et_name); et_pwd = (EditText) findViewById(R.id.et_pwd); et_verfication_code = (EditText) findViewById(R.id.et_verfication_code); tv_obtain_verfication_code = (TextView) findViewById(R.id.tv_obtain_verfication_code); cb_user_agreement = (CheckBox) findViewById(R.id.cb_user_agreement); tv_confirm = (TextView) findViewById(R.id.tv_confirm); ll_login_content = (LinearLayout) findViewById(R.id.ll_login_content); @Override protected void onCreate(Bundle arg0) { super.onCreate(arg0); setContentView(R.layout.activity_register); iv_register_top = (ImageView) findViewById(R.id.iv_register_top); et_email = (EditText) findViewById(R.id.et_name); et_pwd = (EditText) findViewById(R.id.et_pwd); et_verfication_code = (EditText) findViewById(R.id.et_verfication_code); tv_obtain_verfication_code = (TextView) findViewById(R.id.tv_obtain_verfication_code); cb_user_agreement = (CheckBox) findViewById(R.id.cb_user_agreement); tv_confirm = (TextView) findViewById(R.id.tv_confirm); ll_login_content = (LinearLayout) findViewById(R.id.ll_login_content); int w = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); int h = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); ll_login_content.measure(w, h); int width = ll_login_content.getMeasuredWidth(); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(width, (int) (width * 0.434)); params.gravity = Gravity.CENTER_HORIZONTAL; iv_register_top.setLayoutParams(params); int w = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); int h = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); ll_login_content.measure(w, h); int width = ll_login_content.getMeasuredWidth(); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(width, (int) (width * 0.434)); params.gravity = Gravity.CENTER_HORIZONTAL; iv_register_top.setLayoutParams(params); et_email.addTextChangedListener(new TextWatcher() { et_email.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { @Override public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { } } @Override public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { @Override public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { } } @Override public void afterTextChanged(Editable arg0) { // et_email.getText().toString() if (!StringUtils.isEmpty(et_verfication_code.getText() .toString()) && !StringUtils.isEmpty(et_pwd.getText().toString()) && !StringUtils.isEmpty(arg0.toString())) { tv_confirm.setBackground(getResources().getDrawable( R.drawable.shape_login2)); } else { tv_confirm.setBackground(getResources().getDrawable( R.drawable.shape_login1)); } @Override public void afterTextChanged(Editable arg0) { // et_email.getText().toString() if (!StringUtils.isEmpty(et_verfication_code.getText() .toString()) && !StringUtils.isEmpty(et_pwd.getText().toString()) && !StringUtils.isEmpty(arg0.toString())) { tv_confirm.setBackground(getResources().getDrawable( R.drawable.shape_login2)); } else { tv_confirm.setBackground(getResources().getDrawable( R.drawable.shape_login1)); } if (!StringUtils.isEmpty(arg0.toString())) { tv_obtain_verfication_code.setBackground(getResources() .getDrawable(R.drawable.shape_login2)); } else { tv_obtain_verfication_code.setBackground(getResources() .getDrawable(R.drawable.shape_login1)); } if (!StringUtils.isEmpty(arg0.toString())) { tv_obtain_verfication_code.setBackground(getResources() .getDrawable(R.drawable.shape_login2)); } else { tv_obtain_verfication_code.setBackground(getResources() .getDrawable(R.drawable.shape_login1)); } } }); et_verfication_code.addTextChangedListener(new TextWatcher() { } }); et_verfication_code.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { @Override public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { } } @Override public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { @Override public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { } } @Override public void afterTextChanged(Editable arg0) { if (!StringUtils.isEmpty(et_email.getText().toString()) && !StringUtils.isEmpty(et_pwd.getText().toString()) && !StringUtils.isEmpty(arg0.toString())) { tv_confirm.setBackground(getResources().getDrawable( R.drawable.shape_login2)); } else { tv_confirm.setBackground(getResources().getDrawable( R.drawable.shape_login1)); } @Override public void afterTextChanged(Editable arg0) { if (!StringUtils.isEmpty(et_email.getText().toString()) && !StringUtils.isEmpty(et_pwd.getText().toString()) && !StringUtils.isEmpty(arg0.toString())) { tv_confirm.setBackground(getResources().getDrawable( R.drawable.shape_login2)); } else { tv_confirm.setBackground(getResources().getDrawable( R.drawable.shape_login1)); } } }); } }); et_pwd.addTextChangedListener(new TextWatcher() { et_pwd.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { @Override public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { } } @Override public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { @Override public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { } } @Override public void afterTextChanged(Editable arg0) { if (!StringUtils.isEmpty(et_verfication_code.getText() .toString()) && !StringUtils.isEmpty(et_email.getText().toString()) && !StringUtils.isEmpty(arg0.toString())) { tv_confirm.setBackground(getResources().getDrawable( R.drawable.shape_login2)); } else { tv_confirm.setBackground(getResources().getDrawable( R.drawable.shape_login1)); } } }); @Override public void afterTextChanged(Editable arg0) { if (!StringUtils.isEmpty(et_verfication_code.getText() .toString()) && !StringUtils.isEmpty(et_email.getText().toString()) && !StringUtils.isEmpty(arg0.toString())) { tv_confirm.setBackground(getResources().getDrawable( R.drawable.shape_login2)); } else { tv_confirm.setBackground(getResources().getDrawable( R.drawable.shape_login1)); } } }); tv_obtain_verfication_code.setOnClickListener(this); tv_confirm.setOnClickListener(this); findViewById(R.id.tv_back).setOnClickListener(this); findViewById(R.id.tv_user_agreement).setOnClickListener(this); } tv_obtain_verfication_code.setOnClickListener(this); tv_confirm.setOnClickListener(this); findViewById(R.id.tv_back).setOnClickListener(this); findViewById(R.id.tv_user_agreement).setOnClickListener(this); findViewById(R.id.tv_privacy).setOnClickListener(this); } @Override public void onClick(View v) { int id = v.getId(); if (id == R.id.tv_back) { finish(); } else if (id == R.id.tv_user_agreement) { Intent intent = new Intent(RegisterActivity.this, BrowserActivity.class); intent.putExtra("url", getString(R.string.agreement)); startActivity(intent); } else if (id == R.id.tv_obtain_verfication_code) { String email = et_email.getText().toString(); if (StringUtils.isEmpty(email)) { SingleToast.showToast(RegisterActivity.this, "请先输入邮箱账号"); } else { Matcher m = IsEmail.isEmailAddress().matcher(email); if (m.matches()) { getVerficationCode(email); } else { SingleToast.showToast(RegisterActivity.this, "输入的邮箱账号有误,请查证!"); return; } } } else if (id == R.id.tv_confirm) { String email1 = et_email.getText().toString(); String pwd = et_pwd.getText().toString(); String verficationCode = et_verfication_code.getText().toString(); if (StringUtils.isEmpty(email1)) { SingleToast.showToast(RegisterActivity.this, "请先输入邮箱账号"); return; } else { Matcher m = IsEmail.isEmailAddress().matcher(email1); if (!m.matches()) { SingleToast.showToast(RegisterActivity.this, "输入的邮箱账号有误,请查证!"); return; } } if (StringUtils.isEmpty(pwd)) { SingleToast.showToast(RegisterActivity.this, "密码不能为空"); return; } if (pwd.length() < 6) { SingleToast.showToast(RegisterActivity.this, "密码长度不能低于6位"); return; } if (StringUtils.isEmpty(verficationCode)) { SingleToast.showToast(RegisterActivity.this, "验证码不能为空"); return; } userRegister(); } } @Override public void onClick(View v) { int id = v.getId(); if (id == R.id.tv_back) { finish(); } else if (id == R.id.tv_user_agreement) { Intent intent = new Intent(RegisterActivity.this, BrowserActivity.class); intent.putExtra("url", getString(R.string.agreement)); startActivity(intent); } else if (id == R.id.tv_privacy) { Intent intent = new Intent(RegisterActivity.this, BrowserActivity.class); intent.putExtra("url", getString(R.string.privacy)); startActivity(intent); } else if (id == R.id.tv_obtain_verfication_code) { String email = et_email.getText().toString(); if (StringUtils.isEmpty(email)) { SingleToast.showToast(RegisterActivity.this, "请先输入邮箱账号"); } else { Matcher m = IsEmail.isEmailAddress().matcher(email); if (m.matches()) { getVerficationCode(email); } else { SingleToast.showToast(RegisterActivity.this, "输入的邮箱账号有误,请查证!"); return; } } } else if (id == R.id.tv_confirm) { if (!cb_user_agreement.isChecked()) { SingleToast.showToast(this, "选择同意用户协议与隐私政策后方可注册"); return; } private void userRegister() { SharedPreferences sp = getSharedPreferences("user", Context.MODE_PRIVATE); final String uid = sp.getString("uid", ""); BaseApiUtil.emailRegister(this, uid, et_email.getText().toString(), et_pwd.getText().toString(), et_verfication_code.getText() .toString(), "无名氏", new BasicTextHttpResponseHandler() { @Override public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception { if (jsonObject.optBoolean("IsPost")) { SingleToast.showToast(RegisterActivity.this, "注册成功!"); emailLogin(et_email.getText().toString(), et_pwd .getText().toString(), uid); } else { SingleToast.showToast(RegisterActivity.this, jsonObject.optString("Error") + ",注册失败!"); } } String email1 = et_email.getText().toString(); String pwd = et_pwd.getText().toString(); String verficationCode = et_verfication_code.getText().toString(); if (StringUtils.isEmpty(email1)) { SingleToast.showToast(RegisterActivity.this, "请先输入邮箱账号"); return; } else { Matcher m = IsEmail.isEmailAddress().matcher(email1); if (!m.matches()) { SingleToast.showToast(RegisterActivity.this, "输入的邮箱账号有误,请查证!"); return; } } if (StringUtils.isEmpty(pwd)) { SingleToast.showToast(RegisterActivity.this, "密码不能为空"); return; } if (pwd.length() < 6) { SingleToast.showToast(RegisterActivity.this, "密码长度不能低于6位"); return; } if (StringUtils.isEmpty(verficationCode)) { SingleToast.showToast(RegisterActivity.this, "验证码不能为空"); return; } userRegister(); } } @Override public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) { super.onFailure(statusCode, headers, responseString, throwable); SingleToast.showToast(RegisterActivity.this, "注册失败,请重新注册"); } }); } private void userRegister() { SharedPreferences sp = getSharedPreferences("user", Context.MODE_PRIVATE); final String uid = sp.getString("uid", ""); BaseApiUtil.emailRegister(this, uid, et_email.getText().toString(), et_pwd.getText().toString(), et_verfication_code.getText() .toString(), "无名氏", new BasicTextHttpResponseHandler() { @Override public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception { if (jsonObject.optBoolean("IsPost")) { SingleToast.showToast(RegisterActivity.this, "注册成功!"); emailLogin(et_email.getText().toString(), et_pwd .getText().toString(), uid); } else { SingleToast.showToast(RegisterActivity.this, jsonObject.optString("Error") + ",注册失败!"); } } /** * 注册成功后登陆,获取登录信息 */ /** * Email登陆 */ private void emailLogin(String email, String pwd, String uid) { BaseApiUtil.emailLogin(RegisterActivity.this, uid, email, pwd, new BasicTextHttpResponseHandler() { @Override public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception { if (jsonObject.optBoolean("IsPost")) { SharedPreferences sp = getSharedPreferences("user", MODE_PRIVATE); SharedPreferences.Editor edit = sp.edit(); edit.putString("portrait", jsonObject .optJSONObject("Data") .optString("Portrait")); edit.putString("LoginUid", jsonObject .getJSONObject("Data").getString("Id")); edit.putString( "name", jsonObject.optJSONObject("Data").optString( "NickName")); edit.commit(); SingleToast .showToast(RegisterActivity.this, "登陆成功"); Intent intent = new Intent(RegisterActivity.this, PersonInfoActivity.class); startActivity(intent); finish(); } else { SingleToast .showToast(RegisterActivity.this, "登陆失败"); } } @Override public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) { super.onFailure(statusCode, headers, responseString, throwable); SingleToast.showToast(RegisterActivity.this, "注册失败,请重新注册"); } }); } @Override public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) { super.onFailure(statusCode, headers, responseString, throwable); SingleToast.showToast(RegisterActivity.this, "登陆失败"); } }); /** * 注册成功后登陆,获取登录信息 */ /** * Email登陆 */ private void emailLogin(String email, String pwd, String uid) { BaseApiUtil.emailLogin(RegisterActivity.this, uid, email, pwd, new BasicTextHttpResponseHandler() { @Override public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception { if (jsonObject.optBoolean("IsPost")) { SharedPreferences sp = getSharedPreferences("user", MODE_PRIVATE); SharedPreferences.Editor edit = sp.edit(); edit.putString("portrait", jsonObject .optJSONObject("Data") .optString("Portrait")); edit.putString("LoginUid", jsonObject .getJSONObject("Data").getString("Id")); edit.putString( "name", jsonObject.optJSONObject("Data").optString( "NickName")); edit.commit(); SingleToast .showToast(RegisterActivity.this, "登陆成功"); Intent intent = new Intent(RegisterActivity.this, PersonInfoActivity.class); startActivity(intent); finish(); } else { SingleToast .showToast(RegisterActivity.this, "登陆失败"); } } } @Override public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) { super.onFailure(statusCode, headers, responseString, throwable); SingleToast.showToast(RegisterActivity.this, "登陆失败"); } }); Timer timer; int timecount = 59; } private void getVerficationCode(String email) { timer = new Timer(); timer.schedule(new MyTask(), 1000, 1000); SharedPreferences sp = getSharedPreferences("user", MODE_PRIVATE); String uid = sp.getString("uid", ""); BaseApiUtil.getVerficationCode(RegisterActivity.this, uid, email, new BasicTextHttpResponseHandler() { @Override public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception { if (jsonObject.optBoolean("IsPost")) { SingleToast.showToast(RegisterActivity.this, "获取验证码成功,请打开邮箱查看!"); } else { SingleToast.showToast(RegisterActivity.this, "获取验证码失败,请重新获取!"); handler.sendEmptyMessage(1); } } }); } Timer timer; int timecount = 59; class MyTask extends TimerTask { @Override public void run() { if (timecount > 0) { handler.sendEmptyMessage(0); } else { handler.sendEmptyMessage(1); } } } private void getVerficationCode(String email) { timer = new Timer(); timer.schedule(new MyTask(), 1000, 1000); SharedPreferences sp = getSharedPreferences("user", MODE_PRIVATE); String uid = sp.getString("uid", ""); BaseApiUtil.getVerficationCode(RegisterActivity.this, uid, email, new BasicTextHttpResponseHandler() { @Override public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception { if (jsonObject.optBoolean("IsPost")) { SingleToast.showToast(RegisterActivity.this, "获取验证码成功,请打开邮箱查看!"); } else { SingleToast.showToast(RegisterActivity.this, "获取验证码失败,请重新获取!"); handler.sendEmptyMessage(1); } } }); } Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what) { case 0: tv_obtain_verfication_code.setClickable(false); tv_obtain_verfication_code.setText("重新发送(" + timecount + "s)"); timecount--; break; case 1: timer.cancel(); tv_obtain_verfication_code.setText("获取验证码"); tv_obtain_verfication_code.setClickable(true); timecount = 59; break; } } }; class MyTask extends TimerTask { @Override public void run() { if (timecount > 0) { handler.sendEmptyMessage(0); } else { handler.sendEmptyMessage(1); } } } Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what) { case 0: tv_obtain_verfication_code.setClickable(false); tv_obtain_verfication_code.setText("重新发送(" + timecount + "s)"); timecount--; break; case 1: timer.cancel(); tv_obtain_verfication_code.setText("获取验证码"); tv_obtain_verfication_code.setClickable(true); timecount = 59; break; } } }; } library-base/src/main/java/com/yeshi/base/ui/dialog/LoadingDialogUtil.java
@@ -7,7 +7,7 @@ import android.widget.TextView; import com.lcjian.library.util.common.StringUtils; import com.yeshi.ec.base.R; import com.yeshi.base.R; /** * 用户协议弹框 library-base/src/main/java/com/yeshi/base/utils/BeibeiConstant.java
@@ -23,8 +23,8 @@ return true;// 测试时关闭代理限制 } public static final String QQ_ID = "1104492673"; public static final String QQ_KEY = "AI6ri4IcDhsacEoP"; // public static final String QQ_ID = "1104492673"; // public static final String QQ_KEY = "AI6ri4IcDhsacEoP"; public static final String BAICHUAN_APPKEY = "24980167"; @@ -33,7 +33,6 @@ public static final boolean DEBUG = false; public static final boolean ISHUAWEI = true; public static boolean ADSHOW = true; /** * 头像获取路劲可能不完整,需要手动添加完整 library-base/src/main/java/com/yeshi/base/utils/JumpActivityUtil.java
@@ -18,6 +18,7 @@ import com.alibaba.baichuan.trade.biz.core.taoke.AlibcTaokeParams; import com.alibaba.fastjson.JSONObject; import com.yeshi.base.entity.JumpDetail; import com.yeshi.base.ui.BrowserActivity; import com.yeshi.base.utils.downutil.StringUtils; import org.json.JSONException; @@ -175,7 +176,10 @@ public static String filterActivityName(String activity) { if (activity == null) return null; return activity; if ("com.weikou.beibeivideo.ui.mine.BrowserActivity".equalsIgnoreCase(activity)) { return BrowserActivity.class.getName(); } return activity.replace("com.weikou.beibeivideo", "com.mugua.mgvideo"); } } library-base/src/main/java/com/yeshi/base/utils/RouteConstant.java
@@ -7,7 +7,7 @@ public final static String PATH_WEB_BROWSER = "/web/browser"; public final static String PATH_VIDEO_SEARCH_RESULT = "/video/search/result"; public final static String PATH_VIDEO_SEARCH_RESULT = "/videosearch/result"; public final static String PATH_VIDEO_DETAIL = "/video/detail"; library-base/src/main/java/com/yeshi/base/utils/ad/GDTConstant.java
@@ -33,9 +33,6 @@ //影视豆激励视频 public static String PID_2_GOLDCORN_REWARD = "9051467743649673"; //退出广告 public static String PID_2_EXIT = "6091485426868623"; //搜索 public static final String GDT_HOME_AND_PLAY_BIG_PICTURE = "3041305616723820"; library-base/src/main/java/com/yeshi/base/utils/ad/TTAdManagerHolder.java
@@ -6,7 +6,7 @@ import com.bytedance.sdk.openadsdk.TTAdConstant; import com.bytedance.sdk.openadsdk.TTAdManager; import com.bytedance.sdk.openadsdk.TTAdSdk; import com.yeshi.ec.base.R; import com.yeshi.base.R; /** * 可以用一个单例来保存TTAdManager实例,在需要初始化sdk的时候调用 @@ -41,7 +41,7 @@ private static TTAdConfig buildConfig(Context context) { return new TTAdConfig.Builder() .appId(CSJConstant.APP_ID) .appId(context.getString(R.string.ad_csj_app_id)) .useTextureView(true) //使用TextureView控件播放视频,默认为SurfaceView,当有SurfaceView冲突的场景,可以使用TextureView .appName(context.getString(R.string.app_name)) .titleBarTheme(TTAdConstant.TITLE_BAR_THEME_DARK) library-base/src/main/res/layout/act_login.xml
@@ -128,16 +128,31 @@ android:layout_gravity="center_vertical" android:background="@drawable/selector_user_agreement_checkbox" android:button="@null" android:checked="true" android:checked="false" android:gravity="center" /> <TextView android:id="@+id/tv_user_agreement" android:layout_width="0dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:text="用户使用协议" android:textColor="@color/blue4" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:ellipsize="end" android:singleLine="true" android:text="&" android:textColor="@color/gray" /> <TextView android:id="@+id/tv_privacy" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="@string/user_agreement" android:text="隐私政策" android:textColor="@color/blue4" /> <TextView library-base/src/main/res/layout/activity_register.xml
@@ -171,7 +171,7 @@ android:layout_gravity="center_vertical" android:background="@drawable/selector_user_agreement_checkbox" android:button="@null" android:checked="true" android:checked="false" android:gravity="center" /> <TextView @@ -179,7 +179,23 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:text="@string/user_agreement" android:text="用户使用协议" android:textColor="@color/blue4" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:ellipsize="end" android:singleLine="true" android:text="&" android:textColor="@color/gray" /> <TextView android:id="@+id/tv_privacy" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="隐私政策" android:textColor="@color/blue4" /> </LinearLayout> library-base/src/main/res/values/strings.xml
@@ -1,7 +1,11 @@ <resources> <string name="agreement" translatable="false">http://111.231.250.166/mugua/userAgreenment.html</string> <string name="privacy" translatable="false">http://111.231.250.166/mugua/userAgreenment.html</string> <string name="rule_email">0123456789abcdefghijklmnopqrstuvwxyz@.</string> <string name="rule_password">0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`¬!"£$%^*()~=#{}[];':,./?/*-_+<>@&</string> <string name="user_agreement">用户使用协议&隐私条款</string> <!-- 广告 --> <string name="ad_csj_app_id">5115334</string> <string name="ad_gdt_app_id">1106112837</string> </resources> library-common/src/com/lcjian/library/util/common/PackageUtils2.java
@@ -26,10 +26,10 @@ } return false; } /** * 获取versionCode * * * @param context * @return 版本号 */ @@ -42,4 +42,8 @@ return 0; } } public static String getPackageName(Context context) { return context.getPackageName(); } } library-search/src/main/java/com/yeshi/ec/search/ui/SearchResultActivity.java
@@ -37,12 +37,14 @@ import com.qq.e.ads.nativ.NativeUnifiedAD; import com.qq.e.ads.nativ.NativeUnifiedADData; import com.qq.e.comm.util.AdError; import com.yeshi.base.entity.ad.AdPositionEnum; import com.yeshi.base.entity.ad.ExpressAdContainer; import com.yeshi.base.entity.video.VideoContent; import com.yeshi.base.entity.video.VideoInfo; import com.yeshi.base.entity.video.VideoType; import com.yeshi.base.ui.BaseActivity; import com.yeshi.base.utils.RouteConstant; import com.yeshi.base.utils.ad.AdUtil; import com.yeshi.base.utils.ad.ExpressAdManager; import com.yeshi.base.utils.ad.GDTConstant; import com.yeshi.base.utils.http.BasicTextHttpResponseHandler; @@ -417,15 +419,16 @@ if (albumCount >= 1) { VideoContent videoContent = VideoContent.createAdContent(adList.get(0)); mVideoInfos.add(1, videoContent); adapter.notifyItemInserted(1); mVideoInfos.add(0, videoContent); adapter.notifyItemInserted(0); } } //拉取2.0的自渲染广告 private void loadAd() { //TODO 填充广告ID if (AdUtil.getAdType(getApplicationContext(), AdPositionEnum.other) == null) return; String pid = GDTConstant.PID_2_SEARCH_RESULT_ALBUM; NativeUnifiedAD mAdManager = new NativeUnifiedAD(this, pid, new NativeADUnifiedListener() { library-search/src/main/java/com/yeshi/ec/search/ui/SearchResultAdapter.java
@@ -1,7 +1,6 @@ package com.yeshi.ec.search.ui; import android.app.Activity; import android.content.Intent; import android.graphics.Color; import android.graphics.Typeface; import android.text.SpannableString; @@ -24,7 +23,6 @@ import com.bumptech.glide.request.RequestOptions; import com.lcjian.library.util.common.DimenUtils; import com.lcjian.library.util.common.StringUtils; import com.lcjian.library.util.glide.GlideRoundTransform; import com.lcjian.library.widget.RatioLayout; import com.qq.e.ads.nativ.NativeADEventListener; import com.qq.e.ads.nativ.NativeUnifiedADData; @@ -289,7 +287,7 @@ @Override public void run() { try { Glide.with(mContext).load(simpleVideoHolder.rl_picture.getTag() + "").apply(new RequestOptions().centerCrop()).transition(withCrossFade()).transform(new GlideRoundTransform(mContext, 6)).placeholder(R.drawable.shape_video_list_cover_placeholder).into(simpleVideoHolder.iv_movie_cover); Glide.with(mContext).load(simpleVideoHolder.rl_picture.getTag() + "").apply(new RequestOptions().centerCrop()).transition(withCrossFade()).placeholder(R.drawable.shape_video_list_cover_placeholder).into(simpleVideoHolder.iv_movie_cover); } catch (IllegalArgumentException e) { e.printStackTrace(); } library-search/src/main/res/drawable-xhdpi/icon_video_vip.pnglibrary-search/src/main/res/drawable/shape_video_detail_episode_selected.xml
@@ -3,7 +3,7 @@ android:shape="rectangle"> <solid android:color="#0051F5" /> <corners android:radius="5dp" /> <corners android:radius="10dp" /> <stroke android:width="1px" android:color="#E1E1E1"></stroke> </shape> library-search/src/main/res/drawable/shape_video_detail_episode_unselected.xml
@@ -2,5 +2,6 @@ <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="@color/video_episode_bg_color" /> <corners android:radius="5dp" /> <corners android:radius="10dp" /> <stroke android:width="1px" android:color="#E1E1E1"></stroke> </shape> library-search/src/main/res/layout/item_album_list_ad.xml
@@ -108,12 +108,12 @@ android:id="@+id/tv_play" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/shape_video_search_result_album_play" android:paddingLeft="30dp" android:paddingTop="6dp" android:layout_gravity="right" android:paddingRight="30dp" android:paddingBottom="6dp" android:background="@drawable/shape_video_search_result_album_play" android:paddingLeft="20dp" android:paddingTop="7dp" android:paddingRight="20dp" android:paddingBottom="7dp" android:text="查看详情" android:textColor="@color/white" android:textSize="12sp" /> library-search/src/main/res/layout/item_video_search_result_album.xml
@@ -72,6 +72,7 @@ <ImageView android:layout_marginRight="3dp" android:id="@+id/iv_vip" android:layout_width="29.5dp" android:layout_height="17.5dp" @@ -178,10 +179,10 @@ android:layout_height="wrap_content" android:layout_gravity="right" android:background="@drawable/shape_video_search_result_album_play" android:paddingLeft="30dp" android:paddingTop="6dp" android:paddingRight="30dp" android:paddingBottom="6dp" android:paddingLeft="20dp" android:paddingTop="7dp" android:paddingRight="20dp" android:paddingBottom="7dp" android:text="立即播放" android:textColor="@color/white" android:textSize="12sp" /> @@ -196,7 +197,7 @@ <LinearLayout android:id="@+id/ll_videos" android:layout_width="match_parent" android:layout_height="30dp" android:layout_height="40dp" android:layout_marginTop="8dp"> <TextView library-search/src/main/res/layout/item_video_search_result_video.xml
@@ -27,6 +27,7 @@ android:scaleType="fitXY" /> <ImageView android:layout_marginRight="3dp" android:id="@+id/iv_vip" android:layout_width="29.5dp" android:layout_height="17.5dp" library-search/src/main/res/values/colors.xml
@@ -78,7 +78,7 @@ <color name="video_list_tag_text_color">#ffffff</color> <color name="video_list_score_text_color">#f8dc9f</color> <color name="video_episode_text_color">#232323</color> <color name="video_episode_bg_color">#EFEFEF</color> <color name="video_episode_bg_color">#F9F9F9</color> library-search/src/main/res/values/style.xml
@@ -9,7 +9,7 @@ <item name="android:layout_weight">1</item> <item name="android:background">@drawable/shape_video_detail_episode_unselected</item> <item name="android:gravity">center</item> <item name="android:textSize">12sp</item> <item name="android:textSize">14sp</item> <item name="android:layout_marginLeft">11dp</item> <item name="android:textColor">@color/video_episode_text_color</item> </style> library-video/src/main/java/com/yeshi/video/ui/EpisodeFragment.java
@@ -44,6 +44,7 @@ import com.umeng.socialize.UMShareListener; import com.umeng.socialize.bean.SHARE_MEDIA; import com.umeng.socialize.media.UMWeb; import com.yeshi.base.entity.ad.AdPositionEnum; import com.yeshi.base.entity.db.WatchHistoryTable; import com.yeshi.base.entity.video.Follow; import com.yeshi.base.entity.video.Play; @@ -53,6 +54,7 @@ import com.yeshi.base.entity.video.VideoInfo; import com.yeshi.base.entity.video.VideoResource; import com.yeshi.base.utils.BeibeiConstant; import com.yeshi.base.utils.ad.AdUtil; import com.yeshi.base.utils.ad.GDTConstant; import com.yeshi.base.utils.http.BasicTextHttpResponseHandler; import com.yeshi.video.R; @@ -353,6 +355,8 @@ } private void loadAD() { if (AdUtil.getAdType(getContext(), AdPositionEnum.other) == null) return; NativeExpressAD nativeExpressAD = new NativeExpressAD(getContext(), new ADSize(ADSize.FULL_WIDTH, ADSize.AUTO_HEIGHT), GDTConstant.GDT_APP_ID, GDTConstant.GDT_HOME_AND_PLAY_BIG_PICTURE, new NativeExpressAD.NativeExpressADListener() { @Override library-video/src/main/java/com/yeshi/video/ui/VideoDetailActivity.java
@@ -42,6 +42,7 @@ import com.lcjian.library.util.common.StringUtils; import com.umeng.socialize.UMShareAPI; import com.yeshi.base.entity.AccumulateRule; import com.yeshi.base.entity.ad.AdPositionEnum; import com.yeshi.base.entity.db.WatchHistoryTable; import com.yeshi.base.entity.video.Follow; import com.yeshi.base.entity.video.Play; @@ -52,6 +53,7 @@ import com.yeshi.base.ui.BaseActivity; import com.yeshi.base.utils.BeibeiConstant; import com.yeshi.base.utils.RouteConstant; import com.yeshi.base.utils.ad.AdUtil; import com.yeshi.base.utils.http.BasicTextHttpResponseHandler; import com.yeshi.video.R; import com.yeshi.video.entity.PushEpisode; @@ -111,6 +113,8 @@ private FrameLayout fl_pptv; private LinearLayout ll_other; private boolean adShown = false; @Override public void onCreate(Bundle savedInstanceState) { @@ -787,7 +791,7 @@ if (!progressDialog.isShowing()) { progressDialog.show(); } getVideoDetail(this, videoInfo.getId(), videoInfo.getThirdType(), false); getVideoDetail(this, videoInfo.getId(), videoInfo.getThirdType(), true); } public void onEventMainThread(Play info) { @@ -1281,7 +1285,11 @@ * 加载全屏视频广告 */ private void loadFullVideoAd() { if (BeibeiConstant.ADSHOW) { if (adShown) return; adShown = true; if (AdUtil.getAdType(getApplicationContext(), AdPositionEnum.videoDetailFullVideo) != null) { FullVideoAdManager.getInstance().loadAd(getApplicationContext(), new FullVideoAdManager.IFullVideoAdListener() { @Override public void onSuccess(TTFullScreenVideoAd ad) { library-video/src/main/java/com/yeshi/video/ui/VideoEpisodeFragment.java
@@ -31,8 +31,10 @@ import com.qq.e.comm.util.AdError; import com.umeng.analytics.MobclickAgent; import com.viewpagerindicator.TabPageIndicator; import com.yeshi.base.entity.ad.AdPositionEnum; import com.yeshi.base.entity.video.VideoInfo; import com.yeshi.base.utils.BeibeiConstant; import com.yeshi.base.utils.ad.AdUtil; import com.yeshi.base.utils.ad.GDTConstant; import com.yeshi.base.utils.http.BasicTextHttpResponseHandler; import com.yeshi.video.R; @@ -262,7 +264,7 @@ } }); if (BeibeiConstant.ADSHOW) { if (AdUtil.getAdType(getContext(), AdPositionEnum.other) != null) { // loadAD1(); loadAD(); } @@ -524,6 +526,8 @@ private void loadAD() { if (AdUtil.getAdType(getContext(), AdPositionEnum.other) == null) return; NativeExpressAD nativeExpressAD = new NativeExpressAD(getContext(), new ADSize(ADSize.FULL_WIDTH, ADSize.AUTO_HEIGHT), GDTConstant.GDT_APP_ID, GDTConstant.GDT_HOME_AND_PLAY_BIG_PICTURE, new NativeExpressAD.NativeExpressADListener() { @Override library-video/src/main/java/com/yeshi/video/ui/VideoPlayerFragment.java
@@ -8,8 +8,10 @@ import android.view.ViewGroup; import android.widget.TextView; import com.yeshi.base.entity.ad.AdPositionEnum; import com.yeshi.base.entity.video.VideoInfo; import com.yeshi.base.utils.BeibeiConstant; import com.yeshi.base.utils.ad.AdUtil; import com.yeshi.video.R; import androidx.fragment.app.Fragment; @@ -57,7 +59,7 @@ } } }); if (BeibeiConstant.ADSHOW) { if (AdUtil.getAdType(getContext(), AdPositionEnum.other) != null) { showInterstitialAd(); } library-video/src/main/res/values/colors.xml
@@ -78,7 +78,7 @@ <color name="video_list_tag_text_color">#ffffff</color> <color name="video_list_score_text_color">#f8dc9f</color> <color name="video_episode_text_color">#232323</color> <color name="video_episode_bg_color">#EFEFEF</color> <color name="video_episode_bg_color">#F9F9F9</color>