@@ -1,51 +1,32 @@
package cc.winboll.studio.powerbell ;
import com.miui.zeus.mimo.sdk.MimoCustomController ;
import com.miui.zeus.mimo.sdk.MimoLocation ;
import com.miui.zeus.mimo.sdk.MimoSdk ;
import com.miui.zeus.mimo.sdk.ADParams ;
import com.miui.zeus.mimo.sdk.BannerAd ;
import com.miui.zeus.mimo.sdk.base.BaseAd ;
import com.google.android.material.navigation.NavigationView ;
import androidx.annotation.NonNull ;
import androidx.appcompat.app.AlertDialog ;
import android.app.Activity ;
import android.app.Fragment ;
import android.app.FragmentTransaction ;
import android.content.Context ;
import android.content.DialogInterface ;
import android.content.Intent ;
import android.content.SharedPreferences ;
import android.database.Cursor ;
import android.net.Uri ;
import android.os.Bundle ;
import android.os.PersistableBundle ;
import android.provider.MediaStore ;
import android.text.TextUtils ;
import android.util.Log ;
import android.view.Display ;
import android.view.Gravity ;
import android.view.KeyEvent ;
import android.view.MenuItem ;
import android.view.View ;
import android.view.Window ;
import android.view.WindowManager ;
import android.widget.Toast ;
import cc.winboll.studio.powerbell.utils.MimoUtils ;
import android.app.Activity ;
import android.app.Fragment ;
import android.app.FragmentTransaction ;
import android.content.Intent ;
import android.database.Cursor ;
import android.net.Uri ;
import android.os.Bundle ;
import android.provider.MediaStore ;
import android.util.Log ;
import android.view.Menu ;
import android.view.MenuItem ;
import android.view.ViewGroup ;
import android.widget.Button ;
import android.view.Window ;
import android.view.WindowManager ;
import android.widget.FrameLayout ;
import android.widget.RelativeLayout ;
import android.widget.Toast ;
import cc.winboll.studio.libaes.views.AToolbar ;
import androidx.appcompat.app.AlertDialog ;
import cc.winboll.studio.libaes.views.ASupportToolbar ;
import cc.winboll.studio.libappbase.LogActivity ;
import cc.winboll.studio.libappbase.LogUtils ;
import cc.winboll.studio.powerbell.MainActivity ;
@@ -57,44 +38,35 @@ import cc.winboll.studio.powerbell.activities.WinBoLLActivity;
import cc.winboll.studio.powerbell.beans.BackgroundPictureBean ;
import cc.winboll.studio.powerbell.fragments.MainViewFragment ;
import cc.winboll.studio.powerbell.utils.BackgroundPictureUtils ;
import cc.winboll.studio.powerbell.utils.MimoUtils ;
import com.miui.zeus.mimo.sdk.ADParams ;
import com.miui.zeus.mimo.sdk.BannerAd ;
import com.miui.zeus.mimo.sdk.MimoCustomController ;
import com.miui.zeus.mimo.sdk.MimoLocation ;
import com.miui.zeus.mimo.sdk.MimoSdk ;
import java.util.ArrayList ;
import java.util.HashMap ;
import java.util.List ;
import java.util.Map ;
import androidx.appcompat.widget.Toolbar ;
import android.view.View ;
import androidx.appcompat.app.AlertDialog ;
import android.view.WindowManager ;
import android.view.Window ;
import android.view.Display ;
import android.view.Gravity ;
import android.content.DialogInterface ;
import android.content.SharedPreferences ;
public class MainActivity extends WinBoLLActivity {
public static final String TAG = " MainActivity " ;
private static final String PRIVACY_FILE = " privacy_pfs " ;
private static final String PRIVACY_VALUE = " privacy_value " ; //0: 拒绝, 1: 赞同
private SharedPreferences mSharedPreferences ;
private static final String BANNER_POS_ID = " 802e356f1726f9ff39c69308bfd6f06a " ;
private static final long BID_WIN_HIGHEST_LOSS_PRICE = 1 ; //最大竞败方出价
private static final long BID_LOSS_WIN_PRICE = 20000 ; //本次竞胜方出价
private String BANNER_POS_ID = " 802e356f1726f9ff39c69308bfd6f06a " ;
private BannerAd mBannerAd ;
private List < BannerAd > mAllBanners = new ArrayList < > ( ) ;
private ViewGroup mContainer ;
private Button mFetchBtn ;
private Button mShowBtn ;
private boolean mIsBiddingWin = true ;
public static final int BACKGROUND_PICTURE_REQUEST_CODE = 0 ;
public static MainActivity _mMainActivity ;
@@ -105,7 +77,7 @@ public class MainActivity extends WinBoLLActivity {
Menu mMenu ;
Fragment mCurrentShowFragment ;
MainViewFragment mMainViewFragment ;
A Toolbar mA Toolbar ;
Toolbar mToolbar ;
@Override
public Activity getActivity ( ) {
@@ -119,30 +91,14 @@ public class MainActivity extends WinBoLLActivity {
@Override
protected void onCreate ( Bundle savedInstanceState ) {
// LogUtils.d(TAG, " onCreate(...)") ;
LogUtils. d ( TAG , " onCreate(...)" ) ;
super . onCreate ( savedInstanceState ) ;
setContentView ( R . layout . activity_main ) ;
mContainer = findViewById ( R . id . ads_container ) ;
// 米盟模块
showPrivacy ( ) ;
mContainer = findViewById ( R . id . container ) ;
mFetchBtn = findViewById ( R . id . fetchAd ) ;
mShowBtn = findViewById ( R . id . showAd ) ;
mFetchBtn . setOnClickListener ( new View . OnClickListener ( ) {
@Override
public void onClick ( View v ) {
fetchAd ( ) ;
}
} ) ;
mShowBtn . setOnClickListener ( new View . OnClickListener ( ) {
@Override
public void onClick ( View v ) {
showAd ( ) ;
}
} ) ;
// 设置调试日志
// mLogView = findViewById(R.id.logview);
@@ -155,10 +111,10 @@ public class MainActivity extends WinBoLLActivity {
//mAppConfigUtils = AppConfigUtils.getInstance(mApplication);
// 初始化工具栏
mA Toolbar = ( AToolbar ) findViewById ( R . id . toolbar ) ;
setActionBar ( mA Toolbar ) ;
mToolbar = findViewById ( R . id . toolbar ) ;
setSupport ActionBar ( mToolbar ) ;
//mAToolbar.setSubtitle("Main");
mA Toolbar . setTitleTextAppearance ( this , R . style . Toolbar_TitleText ) ;
mToolbar . setTitleTextAppearance ( this , R . style . Toolbar_TitleText ) ;
if ( mMainViewFragment = = null ) {
FragmentTransaction tx = getFragmentManager ( ) . beginTransaction ( ) ;
@@ -171,22 +127,158 @@ public class MainActivity extends WinBoLLActivity {
// NotificationHelper notificationUtils = new NotificationHelper(this);
// notificationUtils.createNotificationChannels();
LogUtils . d ( TAG , " ads start " ) ;
new Thread ( new Runnable ( ) {
@Override
public void run ( ) {
LogUtils . d ( TAG , " run() 1 " ) ;
runOnUiThread ( new Runnable ( ) {
@Override
public void run ( ) {
LogUtils . d ( TAG , " run() 2 " ) ;
try {
Thread . sleep ( 1000 ) ;
fetchAd ( ) ;
} catch ( InterruptedException e ) { }
}
} ) ;
}
} ) . start ( ) ;
}
// public void onADs(View view) {
// LogUtils.d(TAG, "onPostCreate");
// fetchAd();
//
// }
/*public void showADs() {
//(5.3.4新增接口) 请使用最新接口集成
ADParams params = new ADParams.Builder().setUpId(BANNER_POS_ID).build();
bannerAd.loadAd(params, new BannerAd.BannerLoadListener() {
//请求成功回调
@Override
public void onBannerAdLoadSuccess() {
}
//请求失败回调
@Override
public void onAdLoadFailed (int errorCode, String errorMsg) {
}
});
////废弃 将会在后面版本删除
// @Deprecated
// bannerAd.loadAd(upId, new BannerAd.BannerLoadListener() {
// //请求成功回调
// @Override
// public void onBannerAdLoadSuccess() {
// }
// //请求失败回调
// @Override
// public void onAdLoadFailed (int errorCode, String errorMsg) {
// }
// });
bannerAd.setDownLoadListener(new BannerAd.BannerDownloadListener() {
@Override
public void onDownloadStarted() {
//开始下载
LogUtils.d(TAG, "ads 开始下载");
}
@Override
public void onDownloadProgressUpdated(int progress) {
//下载进度,例如:${progress}%
LogUtils.d(TAG, String.format("ads 下载进度 %d", progress));
}
@Override
public void onDownloadPaused() {
//下载暂停
LogUtils.d(TAG, "ads 下载暂停");
}
@Override
public void onDownloadCancel() {
//取消下载
LogUtils.d(TAG, "ads 取消下载");
}
@Override
public void onDownloadFailed(int errorCode) {
//下载失败, 若需要了解errorCode具体含义, 请咨询米盟
LogUtils.d(TAG, String.format("ads 下载失败。errorCode : %d", errorCode));
}
@Override
public void onDownloadFinished() {
//下载结束
LogUtils.d(TAG, "ads 下载结束");
}
@Override
public void onInstallStart() {
//开始安装
LogUtils.d(TAG, "ads 开始安装");
}
@Override
public void onInstallFailed(int errorCode) {
//安装失败
LogUtils.d(TAG, "ads 安装失败");
}
@Override
public void onInstallSuccess() {
//安装成功
LogUtils.d(TAG, "ads 安装成功");
}
});
LinearLayout ads_container = findViewById(R.id.ads_container);
bannerAd.showAd(this, ads_container, new BannerAd.BannerInteractionListener() {
@Override
public void onAdClick() {
// 广告被点击
}
@Override
public void onAdShow() {
// 广告被展示
}
@Override
public void onAdDismiss() {
// 点击关闭按钮广告消失回调
}
@Override
public void onRenderSuccess() {
// 广告渲染成功
}
@Override
public void onRenderFail(int code, String msg) {
// 广告渲染失败
}
});
}*/
@Override
protected void onDestroy ( ) {
super . onDestroy ( ) ;
try {
for ( BannerAd ad : mAllBanners ) {
ad . destroy ( ) ;
}
} catch ( Exception e ) {
e . printStackTrace ( ) ;
}
//bannerAd.destroy();
}
void showFragment ( Fragment fragment ) {
FragmentTransaction tx = getFragmentManager ( ) . beginTransaction ( ) ;
@@ -320,146 +412,149 @@ public class MainActivity extends WinBoLLActivity {
RelativeLayout mainLayout = findViewById ( R . id . activitymainRelativeLayout1 ) ;
mainLayout . setBackgroundColor ( nPixelColor ) ;
}
private void showAd ( ) {
final FrameLayout container = new FrameLayout ( this ) ;
container . setPadding ( 0 , 0 , 0 , MimoUtils . dpToPx ( this , 10 ) ) ;
mContainer . addView ( container , new FrameLayout . LayoutParams ( FrameLayout . LayoutParams . MATCH_PARENT , FrameLayout . LayoutParams . WRAP_CONTENT ) ) ;
if ( mIsBiddingWin ) {
//如果竞价成功,传⼊本次实际结算价
mBannerAd . setPrice ( getPrice ( ) ) ;
}
mBan nerAd . showAd ( this , container , new BannerAd . BannerInteractionListener ( ) {
private void showAd ( ) {
LogUtils . d ( TAG , " showAd() " ) ;
final FrameLayout container = new FrameLayout ( this ) ;
container . setPadding ( 0 , 0 , 0 , MimoUtils . dpToPx ( this , 10 ) ) ;
mContai ner. addView ( container , new FrameLayout . LayoutParams ( FrameLayout . LayoutParams . MATCH_PARENT , FrameLayout . LayoutParams . WRAP_CONTENT ) ) ;
if ( mIsBiddingWin ) {
//如果竞价成功,传⼊本次实际结算价
//mBannerAd.setPrice(getPrice());
}
mBannerAd . showAd ( this , container , new BannerAd . BannerInteractionListener ( ) {
@Override
public void onAdClick ( ) {
Log . d ( TAG , " onAdClick " ) ;
LogUtils . d ( TAG , " onAdClick " ) ;
}
@Override
public void onAdShow ( ) {
mShowBtn. setEnabled( false ) ;
Log . d ( TAG , " onAdShow " ) ;
// mShowBtn. setEnabled(false) ;
LogUtils . d ( TAG , " onAdShow " ) ;
}
@Override
public void onAdDismiss ( ) {
Log . d ( TAG , " onAdDismiss " ) ;
LogUtils . d ( TAG , " onAdDismiss " ) ;
mContainer . removeView ( container ) ;
}
@Override
public void onRenderSuccess ( ) {
Log . d ( TAG , " onRenderSuccess " ) ;
LogUtils . d ( TAG , " onRenderSuccess " ) ;
}
@Override
public void onRenderFail ( int code , String msg ) {
Log . e ( TAG , " onRenderFail errorCode " + code + " errorMsg " + msg ) ;
LogUtils . e ( TAG , " onRenderFail errorCode " + code + " errorMsg " + msg ) ;
}
} ) ;
}
}
private void fetchAd ( ) {
mShowBtn . setEnabled ( false ) ;
mBannerAd = new BannerAd ( ) ;
mAllBanners . add ( mBannerAd ) ;
mBannerAd . setDownLoadListener ( new BannerAd . BannerDownloadListener ( ) {
private void fetchAd ( ) {
LogUtils . d ( TAG , " fetchAd() " ) ;
mBannerAd = new BannerAd ( ) ;
mAllBanners . add ( mBannerAd ) ;
mBannerAd . setDownLoadListener ( new BannerAd . BannerDownloadListener ( ) {
@Override
public void onDownloadStarted ( ) {
Log . e ( TAG , " onDownloadStarted " ) ;
LogUtils . d ( TAG , " onDownloadStarted " ) ;
}
@Override
public void onDownloadPaused ( ) {
Log . e ( TAG , " onDownloadPaused " ) ;
LogUtils . d ( TAG , " onDownloadPaused " ) ;
}
@Override
public void onDownloadFailed ( int errorCode ) {
Log . e ( TAG , " onDownloadFailed, errorCode = " + errorCode ) ;
LogUtils . d ( TAG , " onDownloadFailed, errorCode = " + errorCode ) ;
}
@Override
public void onDownloadFinished ( ) {
Log . e ( TAG , " onDownloadFinished " ) ;
LogUtils . d ( TAG , " onDownloadFinished " ) ;
}
@Override
public void onDownloadProgressUpdated ( int progress ) {
Log . e ( TAG , " onDownloadProgressUpdated " + progress + " % " ) ;
LogUtils . d ( TAG , " onDownloadProgressUpdated " + progress + " % " ) ;
}
@Override
public void onInstallFailed ( int errorCode ) {
Log . e ( TAG , " onInstallFailed, errorCode = " + errorCode ) ;
LogUtils . d ( TAG , " onInstallFailed, errorCode = " + errorCode ) ;
}
@Override
public void onInstallStart ( ) {
Log . e ( TAG , " onInstallStart " ) ;
LogUtils . d ( TAG , " onInstallStart " ) ;
}
@Override
public void onInstallSuccess ( ) {
Log . e ( TAG , " onInstallSuccess " ) ;
LogUtils . d ( TAG , " onInstallSuccess " ) ;
}
@Override
public void onDownloadCancel ( ) {
Log . e ( TAG , " onDownloadCancel " ) ;
LogUtils . d ( TAG , " onDownloadCancel " ) ;
}
} ) ;
ADParams params = new ADParams . Builder ( ) . setUpId ( BANNER_POS_ID ) . build ( ) ;
mBannerAd . loadAd ( params , new BannerAd . BannerLoadListener ( ) {
ADParams params = new ADParams . Builder ( ) . setUpId ( BANNER_POS_ID ) . build ( ) ;
mBannerAd . loadAd ( params , new BannerAd . BannerLoadListener ( ) {
@Override
public void onBannerAdLoadSuccess ( ) {
mShowBtn . setEnabled ( true ) ;
LogUtils . d ( TAG , " onBannerAdLoadSuccess() " ) ;
showAd ( ) ;
//mShowBtn.setEnabled(true);
long bannerPrice = getPrice ( ) ;
if ( mIsBiddingWin) {
//竞价成功时候上报win
Map< String, Long > auctionBidInfo = new HashMap < > ( ) ;
auctionBidInfo. put ( BaseAd. IBidding. EXPECT_COST_PRICE, bannerPrice) ;
auctionBidInfo. put ( BaseAd. IBidding. HIGHEST_LOSS_PRICE, BID_WIN_HIGHEST_LOSS_PRICE) ;
mBannerAd. win ( auctionBidInfo) ;
} else {
//竞价失败的时候上报loss
Map< String, Object > lossReasonInfo = new HashMap < > ( ) ;
lossReasonInfo. put ( BaseAd. IBidding. WIN_PRICE, BID_LOSS_WIN_PRICE) ;
lossReasonInfo. put ( BaseAd. IBidding. LOSS_REASON, BaseAd. LossReason. TYPE_LOWER_OTHER_BIDDER_PRICE) ;
lossReasonInfo. put ( BaseAd. IBidding. ADN_ID, 1 ) ;
mBannerAd. loss ( lossReasonInfo) ;
}
/* long bannerPrice = getPrice();
if ( mIsBiddingWin) {
//竞价成功时候上报win
Map< String, Long> auctionBidInfo = new HashMap<>();
auctionBidInfo.put( BaseAd. IBidding. EXPECT_COST_PRICE, bannerPrice);
auctionBidInfo.put( BaseAd. IBidding. HIGHEST_LOSS_PRICE, BID_WIN_HIGHEST_LOSS_PRICE);
mBannerAd.win( auctionBidInfo);
} else {
//竞价失败的时候上报loss
Map< String, Object> lossReasonInfo = new HashMap<>();
lossReasonInfo.put( BaseAd. IBidding. WIN_PRICE, BID_LOSS_WIN_PRICE);
lossReasonInfo.put( BaseAd. IBidding. LOSS_REASON, BaseAd. LossReason. TYPE_LOWER_OTHER_BIDDER_PRICE);
lossReasonInfo.put( BaseAd. IBidding. ADN_ID, 1);
mBannerAd.loss( lossReasonInfo);
}*/
}
@Override
public void onAdLoadFailed ( int errorCode , String errorMsg ) {
Log . e ( TAG , " errorCode = " + errorCode + " , errorMsg = " + errorMsg ) ;
LogUtils . d ( TAG , " errorCode = " + errorCode + " , errorMsg = " + errorMsg ) ;
}
} ) ;
}
private long getPrice ( ) {
if ( mBannerAd = = null ) {
return 0 ;
}
Map < String , Object > map = mBannerAd. getMediaExtraInfo( ) ;
if ( map = = null | | map . isEmpty ( ) ) {
return 0 ;
}
return ( long ) map . get ( " price " ) ;
}
private void showPrivacy ( ) {
}
// private long getPrice() {
// if (mBannerAd == null) {
// return 0 ;
// }
// Map<String, Object> map = mBannerAd. getMediaExtraInfo() ;
// if (map == null || map.isEmpty()) {
// return 0 ;
// }
// return (long) map.get("price") ;
// }
private void showPrivacy ( ) {
String privacyAgreeValue = getSharedPreferences ( ) . getString ( PRIVACY_VALUE , null ) ;
if ( TextUtils . equals ( privacyAgreeValue , String . valueOf ( 0 ) ) ) {
if ( TextUtils . equals ( privacyAgreeValue , String . valueOf ( 0 ) ) ) {
Log . i ( TAG , " 已拒绝隐私协议,广告已处于不可以状态... " ) ;
Toast . makeText ( this , " 已拒绝隐私协议,广告已处于不可以状态 " , Toast . LENGTH_SHORT ) . show ( ) ;
return ;
}
if ( TextUtils . equals ( privacyAgreeValue , String . valueOf ( 1 ) ) ) {
if ( TextUtils . equals ( privacyAgreeValue , String . valueOf ( 1 ) ) ) {
Log . i ( TAG , " 已同意隐私协议,开始初始化... " ) ;
initMimoSdk ( ) ;
return ;
@@ -557,7 +652,7 @@ public class MainActivity extends WinBoLLActivity {
}
public SharedPreferences getSharedPreferences ( ) {
if ( mSharedPreferences = = null ) {
if ( mSharedPreferences = = null ) {
mSharedPreferences = getSharedPreferences ( PRIVACY_FILE , Context . MODE_PRIVATE ) ;
}
return mSharedPreferences ;