diff --git a/app/src/main/java/com/dayu/bigfish/ui/MainActivity.java b/app/src/main/java/com/dayu/bigfish/ui/MainActivity.java index 7275233..4099b4e 100644 --- a/app/src/main/java/com/dayu/bigfish/ui/MainActivity.java +++ b/app/src/main/java/com/dayu/bigfish/ui/MainActivity.java @@ -1,5 +1,6 @@ package com.dayu.bigfish.ui; +import android.app.NotificationChannel; import android.app.NotificationManager; import android.content.Context; import android.content.Intent; @@ -58,6 +59,7 @@ import com.dayu.usercenter.ui.fragment.HomeUserFragment; import com.dayu.utils.LogUtils; import com.dayu.utils.SPUtils; import com.dayu.utils.TimeUtils; +import com.dayu.utils.UIUtils; import com.dayu.utils.UserManager; import com.dayu.utils.badgeNumberManger.BadgeNumberManager; import com.dayu.widgets.BadgeView; @@ -85,8 +87,6 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin private FragmentManager mFragmentManger; private Fragment[] mFragments; private TextView[] mTabs; - private NotificationManager notificationManager; - private NotificationCompat.Builder builder; private HomeSaleFragment saleFragment; private HomeOrderFragment secondFragment; private HomeLearnFragment learnFragment; @@ -356,7 +356,27 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin .setSmallIcon(R.mipmap.wechatimg) .setContentTitle(getString(R.string.start_download)) .setAutoCancel(true) + .setPriority(NotificationCompat.PRIORITY_HIGH) + .setVibrate(new long[]{0}) + .setDefaults(NotificationCompat.FLAG_ONLY_ALERT_ONCE) + .setSound(null) .setContentText(getString(R.string.new_version)); + + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) { + NotificationChannel channel = new NotificationChannel( + UIUtils.getPackageName(), + "版本更新", + NotificationManager.IMPORTANCE_DEFAULT + + ); + builder.setChannelId(UIUtils.getPackageName()); + channel.enableVibration(false); + channel.setVibrationPattern(new long[]{0}); + channel.enableLights(false); + channel.setSound(null, null); + notificationManager.createNotificationChannel(channel); + } + notificationManager.notify(0, builder.build()); } @@ -462,13 +482,15 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin @Subscribe(threadMode = ThreadMode.MAIN) public void onDownloadEvent(DownloadBean event) { int progress = (int) Math.round(event.getBytesReaded() / (double) event.getTotal() * 100); - if (builder == null) { + if (builder == null || notificationManager == null) { return; } builder.setContentInfo(String.valueOf(progress) + "%").setProgress(100, progress, false); notificationManager.notify(0, builder.build()); if (progress == 100) { notificationManager.cancel(0); + notificationManager = null; + builder = null; } } diff --git a/app/src/main/java/com/dayu/bigfish/ui/SettingActivity.java b/app/src/main/java/com/dayu/bigfish/ui/SettingActivity.java index ee4def8..3cdecc1 100755 --- a/app/src/main/java/com/dayu/bigfish/ui/SettingActivity.java +++ b/app/src/main/java/com/dayu/bigfish/ui/SettingActivity.java @@ -1,5 +1,6 @@ package com.dayu.bigfish.ui; +import android.app.NotificationChannel; import android.app.NotificationManager; import android.content.Context; import android.content.Intent; @@ -8,7 +9,6 @@ import android.os.Build; import android.os.Environment; import android.support.v4.app.NotificationCompat; import android.support.v4.content.FileProvider; -import android.view.View; import com.alibaba.android.arouter.facade.annotation.Route; import com.dayu.base.api.DownloadService; @@ -21,14 +21,17 @@ import com.dayu.bigfish.databinding.ActivitySettingBinding; import com.dayu.bigfish.presenter.setting.SettingContract; import com.dayu.bigfish.presenter.setting.SettingPresenter; import com.dayu.common.Constants; +import com.dayu.event.DownloadBean; import com.dayu.provider.router.RouterPath; -import com.dayu.utils.AppUtils; +import com.dayu.utils.UIUtils; import com.dayu.widgets.ChangeEnvDialog; import com.dayu.widgets.CustomDialog; import com.dayu.widgets.listener.OnCloseListener; import com.dayu.widgets.listener.onDownloadListener; import com.umeng.analytics.MobclickAgent; +import org.greenrobot.eventbus.Subscribe; + import java.io.File; /** @@ -128,12 +131,32 @@ public class SettingActivity extends BaseActivity<SettingPresenter, ActivitySett } public void initNotification() { - NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); - NotificationCompat.Builder builder = new NotificationCompat.Builder(this) + notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); + builder = new NotificationCompat.Builder(this) .setSmallIcon(R.mipmap.wechatimg) .setContentTitle(getString(R.string.start_download)) .setAutoCancel(true) + .setPriority(NotificationCompat.PRIORITY_MAX) + .setVibrate(new long[]{0}) + .setDefaults(NotificationCompat.FLAG_ONLY_ALERT_ONCE) + .setSound(null) .setContentText(getString(R.string.new_version)); + + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) { + NotificationChannel channel = new NotificationChannel( + UIUtils.getPackageName(), + "版本更新", + NotificationManager.IMPORTANCE_DEFAULT + + ); + builder.setChannelId(UIUtils.getPackageName()); + channel.enableVibration(false); + channel.setVibrationPattern(new long[]{0}); + channel.enableLights(false); + channel.setSound(null, null); + notificationManager.createNotificationChannel(channel); + } + notificationManager.notify(0, builder.build()); } @@ -155,4 +178,20 @@ public class SettingActivity extends BaseActivity<SettingPresenter, ActivitySett } } + @Subscribe + public void downloadEvent(DownloadBean event) { + int progress = (int) Math.round(event.getBytesReaded() / (double) event.getTotal() * 100); + if (builder == null || notificationManager == null) { + return; + } + builder.setContentInfo(String.valueOf(progress) + "%").setProgress(100, progress, false); + notificationManager.notify(0, builder.build()); + if (progress == 100) { + notificationManager.cancel(0); + notificationManager = null; + builder = null; + } + + } + } diff --git a/baseSDK/src/main/java/com/dayu/base/ui/activity/BaseActivity.java b/baseSDK/src/main/java/com/dayu/base/ui/activity/BaseActivity.java index 15470f9..bb0b6cc 100755 --- a/baseSDK/src/main/java/com/dayu/base/ui/activity/BaseActivity.java +++ b/baseSDK/src/main/java/com/dayu/base/ui/activity/BaseActivity.java @@ -1,8 +1,10 @@ package com.dayu.base.ui.activity; +import android.app.NotificationManager; import android.content.Intent; import android.databinding.ViewDataBinding; import android.os.Bundle; +import android.support.v4.app.NotificationCompat; import com.alibaba.android.arouter.launcher.ARouter; import com.dayu.base.ui.presenter.BasePresenter; @@ -32,6 +34,10 @@ public abstract class BaseActivity<P extends BasePresenter, B extends ViewDataBi private boolean isDialogShow = false; protected int mUserId; protected UserInfo mUserInfo; + protected static NotificationManager notificationManager; + protected static NotificationCompat.Builder builder; + + @Override protected void initPresenter() { diff --git a/baseSDK/src/main/java/com/dayu/common/Constants.java b/baseSDK/src/main/java/com/dayu/common/Constants.java index f46cc2f..4574965 100755 --- a/baseSDK/src/main/java/com/dayu/common/Constants.java +++ b/baseSDK/src/main/java/com/dayu/common/Constants.java @@ -39,18 +39,18 @@ public class Constants { /** * dev环境配置. */ -// public static String ENVIROMENT = "debug"; -// public static final int LOG_LEVEL = LogUtils.LEVEL_ALL; -// public static String BASE_URL = "http://47.94.101.239:3112"; -// public static String WEB_SOP = "http://47.94.101.239:9004/#/sop"; -// public static String CHECK_MULTI_WEB_SOP = "http://47.94.101.239:9004/#/manyServiceResult"; -// public static String MULTI_WEB_SOP = "http://47.94.101.239:9004/#/manySop"; -// public static String WEB_SOP_DETAIL = "http://47.94.101.239:9004/#/sopdetail"; -// public static String WEB_ZHI_SHI = "http://47.94.101.239:9004/#/detail"; -// public static final String UP_PHOTO = "/file/uploadMore?targetPath=test/sp/mobile/android/business/checkApply"; -// public static final String UP_VIDEO = "/file/uploadVideoOne?targetPath=dev/video"; -// public static final boolean IS_DEBUG = true; -// public static final boolean CAN_CHANGE_ENV = true; //是否显示切换开发环境菜单 + public static String ENVIROMENT = "debug"; + public static final int LOG_LEVEL = LogUtils.LEVEL_ALL; + public static String BASE_URL = "http://47.94.101.239:3112"; + public static String WEB_SOP = "http://47.94.101.239:9004/#/sop"; + public static String CHECK_MULTI_WEB_SOP = "http://47.94.101.239:9004/#/manyServiceResult"; + public static String MULTI_WEB_SOP = "http://47.94.101.239:9004/#/manySop"; + public static String WEB_SOP_DETAIL = "http://47.94.101.239:9004/#/sopdetail"; + public static String WEB_ZHI_SHI = "http://47.94.101.239:9004/#/detail"; + public static final String UP_PHOTO = "/file/uploadMore?targetPath=test/sp/mobile/android/business/checkApply"; + public static final String UP_VIDEO = "/file/uploadVideoOne?targetPath=dev/video"; + public static final boolean IS_DEBUG = true; + public static final boolean CAN_CHANGE_ENV = true; //是否显示切换开发环境菜单 /** @@ -73,18 +73,18 @@ public class Constants { /** * 正式环境. */ - public static String ENVIROMENT = "release"; - public static int LOG_LEVEL = LogUtils.LEVEL_OFF; - public static String BASE_URL = "https://mobile.kf.ai"; - public static String WEB_SOP = "https://sop.kf.ai/#/sop"; - public static String WEB_SOP_DETAIL = "https://sop.kf.ai/#/sopdetail"; - public static String WEB_ZHI_SHI = "https://sop.kf.ai/#/detail"; - public static String CHECK_MULTI_WEB_SOP = "https://sop.kf.ai/#/manyServiceResult"; - public static String MULTI_WEB_SOP = "https://sop.kf.ai/#/manySop"; - public static final String UP_PHOTO = "/file/uploadMore?targetPath=online/sp/mobile/android/business/checkApply"; - public static final String UP_VIDEO = "/file/uploadVideoOne?targetPath=online/video"; - public static final boolean IS_DEBUG = false; - public static final boolean CAN_CHANGE_ENV = false; //是否显示切换开发环境菜单 +// public static String ENVIROMENT = "release"; +// public static int LOG_LEVEL = LogUtils.LEVEL_OFF; +// public static String BASE_URL = "https://mobile.kf.ai"; +// public static String WEB_SOP = "https://sop.kf.ai/#/sop"; +// public static String WEB_SOP_DETAIL = "https://sop.kf.ai/#/sopdetail"; +// public static String WEB_ZHI_SHI = "https://sop.kf.ai/#/detail"; +// public static String CHECK_MULTI_WEB_SOP = "https://sop.kf.ai/#/manyServiceResult"; +// public static String MULTI_WEB_SOP = "https://sop.kf.ai/#/manySop"; +// public static final String UP_PHOTO = "/file/uploadMore?targetPath=online/sp/mobile/android/business/checkApply"; +// public static final String UP_VIDEO = "/file/uploadVideoOne?targetPath=online/video"; +// public static final boolean IS_DEBUG = false; +// public static final boolean CAN_CHANGE_ENV = false; //是否显示切换开发环境菜单 /** * 统一配置. diff --git a/learnCenter/src/main/java/com/dayu/learncenter/ui/fragment/HomeLearnFragment.java b/learnCenter/src/main/java/com/dayu/learncenter/ui/fragment/HomeLearnFragment.java index a4a6981..a2a6a68 100644 --- a/learnCenter/src/main/java/com/dayu/learncenter/ui/fragment/HomeLearnFragment.java +++ b/learnCenter/src/main/java/com/dayu/learncenter/ui/fragment/HomeLearnFragment.java @@ -149,8 +149,19 @@ public class HomeLearnFragment extends BaseFragment<SImplePresenter, FragmentHom for (int i = 0; i < mBind.tabLearn.getTabCount(); i++) { TextView tv = mBind.tabLearn.getTabAt(i).getCustomView().findViewById(R.id.tabtext); TextView tvIcon = mBind.tabLearn.getTabAt(i).getCustomView().findViewById(R.id.tabicon); - tv.setText(tabNum[i] + ""); tvIcon.setText(tabDesc[i]); + int count = tabNum[i]; + tv.setText(count+""); + tv.setTextSize(28); + if (count>999){ + tv.setTextSize(24); + } + if (count>9999){ + tv.setTextSize(20); + } + if (count>99999){ + tv.setTextSize(16); + } } } } diff --git a/orderCenter/src/main/java/com/dayu/order/ui/fragment/HomeOrderFragment.java b/orderCenter/src/main/java/com/dayu/order/ui/fragment/HomeOrderFragment.java index 364e6c7..795a9dc 100644 --- a/orderCenter/src/main/java/com/dayu/order/ui/fragment/HomeOrderFragment.java +++ b/orderCenter/src/main/java/com/dayu/order/ui/fragment/HomeOrderFragment.java @@ -9,10 +9,8 @@ import android.view.LayoutInflater; import android.view.View; import android.widget.TextView; -import com.alibaba.android.arouter.launcher.ARouter; import com.dayu.base.ui.adapter.FragmentAdapter; import com.dayu.base.ui.fragment.BaseFragment; -import com.dayu.common.Constants; import com.dayu.order.R; import com.dayu.order.api.protocol.Tab; import com.dayu.order.common.TabNumEvent; @@ -20,9 +18,7 @@ import com.dayu.order.databinding.FragmentOrderHomeBinding; import com.dayu.order.presenter.homeorder.HomeOrderContract; import com.dayu.order.presenter.homeorder.HomeOrderPresenter; import com.dayu.provider.event.RefreshTab; -import com.dayu.provider.router.RouterPath; import com.dayu.utils.TabLayoutUtils; -import com.dayu.utils.UserManager; import com.umeng.analytics.MobclickAgent; import org.greenrobot.eventbus.EventBus; @@ -145,8 +141,7 @@ public class HomeOrderFragment extends BaseFragment<HomeOrderPresenter, Fragment public void setTabNum(Tab tab, int myTabIndex) { // String[] tabNum = new String[]{"tab.getReservation() + "", tab.getPendingservice() + "", // tab.getError() + "", tab.getCanceled() + ""}; - String[] tabNum = new String[]{tab.getWaits() + "",tab.getReservation() + "", tab.getPendingservice() + "", - tab.getComplete() + ""}; + int[] tabNum = new int[]{tab.getWaits() ,tab.getReservation(), tab.getPendingservice() ,tab.getComplete()}; EventBus.getDefault().post(new TabNumEvent(tab.getPendingservice()+tab.getWaits()+tab.getReservation())); if (isFirstAddTab) { mBind.tbHome.removeAllTabs(); @@ -159,8 +154,19 @@ public class HomeOrderFragment extends BaseFragment<HomeOrderPresenter, Fragment for (int i = 0; i < mBind.tbHome.getTabCount(); i++) { TextView tv = mBind.tbHome.getTabAt(i).getCustomView().findViewById(R.id.tabtext); TextView tvIcon = mBind.tbHome.getTabAt(i).getCustomView().findViewById(R.id.tabicon); - tv.setText(tabNum[i]); tvIcon.setText(tabDesc[i]); + int count = tabNum[i]; + tv.setText(count+""); + tv.setTextSize(28); + if (count>999){ + tv.setTextSize(24); + } + if (count>9999){ + tv.setTextSize(20); + } + if (count>99999){ + tv.setTextSize(16); + } } if (myTabIndex != -1) { mBind.vpHome.setCurrentItem(myTabIndex); @@ -175,7 +181,7 @@ public class HomeOrderFragment extends BaseFragment<HomeOrderPresenter, Fragment * @param number tab标签上的数字(更新频繁) * @param iconID tab标签数字下的状态说明(1.0版本默认4种状态) */ - private View CreatTab(int index,String number, String iconID) { + private View CreatTab(int index,int number, String iconID) { View newtab = LayoutInflater.from(mActivity).inflate(R.layout.activity_home_tab, null); TextView textView_number = newtab.findViewById(R.id.tabtext); AssetManager mgr = mActivity.getAssets(); @@ -186,7 +192,7 @@ public class HomeOrderFragment extends BaseFragment<HomeOrderPresenter, Fragment textView_number.setTextColor(getResources().getColor(R.color.cl_tab_read)); } textView_number.setTypeface(tf); - textView_number.setText(number); + textView_number.setText(number+""); TextView textView = newtab.findViewById(R.id.tabicon); textView.setText(iconID); return newtab; diff --git a/saleCenter/src/main/java/com/bigfish/salecenter/ui/fragment/HomeSaleFragment.java b/saleCenter/src/main/java/com/bigfish/salecenter/ui/fragment/HomeSaleFragment.java index 3586bd8..c2d25d2 100644 --- a/saleCenter/src/main/java/com/bigfish/salecenter/ui/fragment/HomeSaleFragment.java +++ b/saleCenter/src/main/java/com/bigfish/salecenter/ui/fragment/HomeSaleFragment.java @@ -4,6 +4,7 @@ import android.content.res.AssetManager; import android.graphics.Typeface; import android.os.Bundle; import android.support.design.widget.TabLayout; +import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.widget.TextView; @@ -11,17 +12,15 @@ import android.widget.TextView; import com.bigfish.salecenter.R; import com.bigfish.salecenter.databinding.FragmentHomeSaleBinding; import com.bigfish.salecenter.event.RefreshSaleTab; -import com.dayu.event.SaleTabNumEvent; import com.bigfish.salecenter.model.SaleTab; import com.bigfish.salecenter.presenter.homesale.HomeSaleContract; import com.bigfish.salecenter.presenter.homesale.HomeSalePresenter; import com.dayu.base.ui.adapter.FragmentAdapter; import com.dayu.base.ui.fragment.BaseFragment; +import com.dayu.event.SaleTabNumEvent; import com.dayu.utils.TabLayoutUtils; import com.umeng.analytics.MobclickAgent; -import android.support.v4.app.Fragment; - import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; @@ -121,7 +120,7 @@ public class HomeSaleFragment extends BaseFragment<HomeSalePresenter, FragmentHo public void setTabNum(SaleTab tab, int myTabIndex) { // EventBus.getDefault().post(new SaleTabNumEvent(tab.products+tab.collect+tab.inSale+tab.saleDone)); EventBus.getDefault().post(new SaleTabNumEvent(tab.inSale)); - String[] tabNum = new String[]{tab.products + "", tab.collect + "", tab.inSale + "", tab.saleDone + ""}; + int[] tabNum = new int[]{tab.products, tab.collect, tab.inSale, tab.saleDone}; if (isFirstAddTab) { mBind.tbSale.removeAllTabs(); mBind.tbSale.addTab(mBind.tbSale.newTab().setCustomView(CreatTab(0,tabNum[0], tabDesc[0]))); @@ -133,8 +132,19 @@ public class HomeSaleFragment extends BaseFragment<HomeSalePresenter, FragmentHo for (int i = 0; i < mBind.tbSale.getTabCount(); i++) { TextView tv = mBind.tbSale.getTabAt(i).getCustomView().findViewById(R.id.tabtext); TextView tvIcon = mBind.tbSale.getTabAt(i).getCustomView().findViewById(R.id.tabicon); - tv.setText(tabNum[i]); tvIcon.setText(tabDesc[i]); + int count = tabNum[i]; + tv.setText(count+""); + tv.setTextSize(28); + if (count>999){ + tv.setTextSize(24); + } + if (count>9999){ + tv.setTextSize(20); + } + if (count>99999){ + tv.setTextSize(16); + } } if (myTabIndex != -1) { mBind.vpSale.setCurrentItem(myTabIndex); @@ -143,7 +153,7 @@ public class HomeSaleFragment extends BaseFragment<HomeSalePresenter, FragmentHo } } - private View CreatTab(int index,String number, String iconID) { + private View CreatTab(int index,int number, String iconID) { View newtab = LayoutInflater.from(mActivity).inflate(R.layout.layout_sale_tab, null); TextView textView_number = newtab.findViewById(R.id.tabtext); AssetManager mgr = mActivity.getAssets(); @@ -152,7 +162,7 @@ public class HomeSaleFragment extends BaseFragment<HomeSalePresenter, FragmentHo } Typeface tf = Typeface.createFromAsset(mgr, "fonts/DIN Alternate Bold.ttf"); textView_number.setTypeface(tf); - textView_number.setText(number); + textView_number.setText(number+""); TextView textView = newtab.findViewById(R.id.tabicon); textView.setText(iconID); return newtab;