Selaa lähdekoodia

抽取字符串

詹子聪 5 vuotta sitten
vanhempi
commit
0375d9454c
66 muutettua tiedostoa jossa 418 lisäystä ja 1562 poistoa
  1. 0 9
      app/src/main/java/com/miekir/eden/base/ApiService.java
  2. 1 1
      app/src/main/java/com/miekir/eden/common/ICommonView.java
  3. 0 2
      app/src/main/java/com/miekir/eden/constant/ConstantString.java
  4. 13 0
      app/src/main/java/com/miekir/eden/constant/EdenError.java
  5. 0 82
      app/src/main/java/com/miekir/eden/tool/DataTool.java
  6. 11 7
      app/src/main/java/com/miekir/eden/tool/StringTool.java
  7. 10 8
      app/src/main/java/com/miekir/eden/tool/TimeTool.java
  8. 0 52
      app/src/main/java/com/miekir/eden/ui/HomeFragment.java
  9. 0 88
      app/src/main/java/com/miekir/eden/ui/MainActivity.java
  10. 6 5
      app/src/main/java/com/miekir/eden/ui/TabActivity.java
  11. 2 1
      app/src/main/java/com/miekir/eden/ui/function/FunctionFragment.java
  12. 12 10
      app/src/main/java/com/miekir/eden/ui/home/about/AboutFragment.java
  13. 3 4
      app/src/main/java/com/miekir/eden/ui/home/about/upgrade/UpgradePresenter.java
  14. 2 2
      app/src/main/java/com/miekir/eden/ui/home/coupon/ITemplateView.java
  15. 8 8
      app/src/main/java/com/miekir/eden/ui/home/coupon/TemplateFragment.java
  16. 5 6
      app/src/main/java/com/miekir/eden/ui/home/coupon/TemplatePresenter.java
  17. 10 10
      app/src/main/java/com/miekir/eden/ui/home/goods/GoodsAdapter.java
  18. 1 1
      app/src/main/java/com/miekir/eden/ui/home/goods/GoodsBean.java
  19. 14 11
      app/src/main/java/com/miekir/eden/ui/home/goods/GoodsFragment.java
  20. 7 8
      app/src/main/java/com/miekir/eden/ui/home/goods/GoodsPresenter.java
  21. 3 3
      app/src/main/java/com/miekir/eden/ui/home/goods/IGoodsView.java
  22. 15 11
      app/src/main/java/com/miekir/eden/ui/home/goods/detail/GoodsDetailActivity.java
  23. 3 2
      app/src/main/java/com/miekir/eden/ui/home/goods/detail/MagnetAdapter.java
  24. 1 1
      app/src/main/java/com/miekir/eden/ui/home/search/ISearchView.java
  25. 14 13
      app/src/main/java/com/miekir/eden/ui/home/search/SearchActivity.java
  26. 3 4
      app/src/main/java/com/miekir/eden/ui/home/search/SearchPresenter.java
  27. 3 3
      app/src/main/java/com/miekir/eden/ui/home/tool/ISystemView.java
  28. 7 8
      app/src/main/java/com/miekir/eden/ui/home/tool/SystemPresenter.java
  29. 0 15
      app/src/main/java/com/miekir/eden/ui/home/tool/json/IJsonView.java
  30. 0 106
      app/src/main/java/com/miekir/eden/ui/home/tool/json/JsonActivity.java
  31. 0 14
      app/src/main/java/com/miekir/eden/ui/home/tool/json/JsonBean.java
  32. 0 67
      app/src/main/java/com/miekir/eden/ui/home/tool/json/JsonPresenter.java
  33. 0 69
      app/src/main/java/com/miekir/eden/ui/home/tool/weather/WeatherActivity.java
  34. 0 18
      app/src/main/java/com/miekir/eden/ui/home/tool/weather/WeatherBean.java
  35. 0 71
      app/src/main/java/com/miekir/eden/ui/home/tool/yiji/YijiActivity.java
  36. 0 18
      app/src/main/java/com/miekir/eden/ui/home/tool/yiji/YijiBean.java
  37. 23 20
      app/src/main/java/com/miekir/eden/ui/mine/MineActivity.java
  38. 0 104
      app/src/main/java/com/miekir/eden/ui/mine/coupon/AddPhotoActivity.java
  39. 0 43
      app/src/main/java/com/miekir/eden/ui/mine/coupon/AddPhotoPresenter.java
  40. 0 18
      app/src/main/java/com/miekir/eden/ui/mine/coupon/IAddPhotoView.java
  41. 3 4
      app/src/main/java/com/miekir/eden/ui/mine/fav/FavPresenter.java
  42. 1 1
      app/src/main/java/com/miekir/eden/ui/mine/fav/IFavView.java
  43. 1 1
      app/src/main/java/com/miekir/eden/ui/mine/fav/IMyFavView.java
  44. 11 9
      app/src/main/java/com/miekir/eden/ui/mine/fav/MyFavActivity.java
  45. 3 4
      app/src/main/java/com/miekir/eden/ui/mine/fav/MyFavPresenter.java
  46. 0 130
      app/src/main/java/com/miekir/eden/ui/mine/forget/ForgetActivity.java
  47. 0 50
      app/src/main/java/com/miekir/eden/ui/mine/forget/ForgetPresenter.java
  48. 0 16
      app/src/main/java/com/miekir/eden/ui/mine/forget/IForgetView.java
  49. 1 1
      app/src/main/java/com/miekir/eden/ui/mine/login/ILoginView.java
  50. 13 13
      app/src/main/java/com/miekir/eden/ui/mine/login/LoginActivity.java
  51. 3 4
      app/src/main/java/com/miekir/eden/ui/mine/login/LoginPresenter.java
  52. 0 40
      app/src/main/java/com/miekir/eden/ui/mine/register/CodePresenter.java
  53. 0 18
      app/src/main/java/com/miekir/eden/ui/mine/register/ICodeView.java
  54. 0 159
      app/src/main/java/com/miekir/eden/ui/mine/register/RegisterActivity.java
  55. 0 86
      app/src/main/java/com/miekir/eden/ui/mine/register/fill/FillDataActivity.java
  56. 0 16
      app/src/main/java/com/miekir/eden/ui/mine/register/fill/IRegisterView.java
  57. 0 52
      app/src/main/java/com/miekir/eden/ui/mine/register/fill/RegisterPresenter.java
  58. 7 6
      app/src/main/java/com/miekir/eden/ui/welcome/WelcomeActivity.java
  59. 3 4
      app/src/main/java/com/miekir/eden/ui/welcome/WelcomePresenter.java
  60. 78 0
      app/src/main/res/values-zh-rCN/strings.xml
  61. 69 0
      app/src/main/res/values/strings.xml
  62. 2 2
      common/src/main/java/com/miekir/common/provider/CommonInstaller.java
  63. 39 0
      common/src/main/java/com/miekir/common/utils/ContextManager.java
  64. 2 22
      common/src/main/java/com/miekir/common/utils/ToastTool.java
  65. 4 0
      network/src/main/res/values-zh-rCN/strings.xml
  66. 1 1
      network/src/main/res/values/strings.xml

+ 0 - 9
app/src/main/java/com/miekir/eden/base/ApiService.java

@@ -5,7 +5,6 @@ import com.miekir.eden.bean.SystemBean;
 import com.miekir.eden.bean.UpgradeBean;
 import com.miekir.eden.ui.home.coupon.CouponBean;
 import com.miekir.eden.ui.home.goods.GoodsBean;
-import com.miekir.eden.ui.home.tool.json.JsonBean;
 import com.miekir.network.core.base.BaseResponse;
 
 import java.util.List;
@@ -81,14 +80,6 @@ public interface ApiService {
     @GET("/eden/api/getCouponList")
     Observable<BaseResponse<List<String>>> getCouponList(@Query("pageNum") int pageNum, @Query("pageSize") int pageSize);
 
-    /*----------------------------------------JSON开始----------------------------------------*/
-    /**保存和更新JSON*/
-    @POST("/eden/api/saveJson")
-    Observable<BaseResponse<JsonBean>> saveJson(@Body JsonBean body);
-
-    /**获取JSON bean*/
-    @GET("/eden/api/getJsonBean")
-    Observable<BaseResponse<JsonBean>> getJsonBean();
 
     /*----------------------------------------升级信息----------------------------------------*/
     /**获取版本更新信息*/

+ 1 - 1
app/src/main/java/com/miekir/eden/common/ICommonView.java

@@ -9,7 +9,7 @@ import com.miekir.mvp.view.IView;
  * @date 2020/7/8 19:44
  */
 public interface ICommonView<T> extends IView {
-    default void onCommonResult(boolean success, String message, T resultBean) {
+    default void onCommonResult(boolean success, int code, T resultBean) {
         //要在实现类显示调用ICommonView.super.onCommonResult(success, message, resultBean);才会生效
         //dismissLoading();
     }

+ 0 - 2
app/src/main/java/com/miekir/eden/constant/ConstantString.java

@@ -9,10 +9,8 @@ package com.miekir.eden.constant;
  */
 public interface ConstantString {
     String MONEY_RMB = "¥%s";
-    String COMMENT_NUM = "评论 %s";
     String GOOD_COMMENT = "%s%%";
     String MONEY_GAME = "¥%s";
-    String WELCOME_HELLO = "%s好";
     String NAME_ADMIN = "rzxlszy";
     /**
      * 支付宝收款9.9元

+ 13 - 0
app/src/main/java/com/miekir/eden/constant/EdenError.java

@@ -0,0 +1,13 @@
+package com.miekir.eden.constant;
+
+/**
+ * Copyright (C), 2019-2020, Miekir
+ *
+ * @author Miekir
+ * @date 2020/9/12 16:24
+ * Description: 错误码
+ */
+public interface EdenError {
+    int COMMON = -1;
+    int SUCCESS = 0;
+}

+ 0 - 82
app/src/main/java/com/miekir/eden/tool/DataTool.java

@@ -1,82 +0,0 @@
-package com.miekir.eden.tool;
-
-import com.miekir.eden.R;
-import com.miekir.eden.constant.ConstantUrl;
-import com.miekir.eden.ui.function.FunctionFragment;
-import com.miekir.eden.ui.home.coupon.CouponBean;
-import com.miekir.eden.ui.home.goods.GoodsBean;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author Miekir
- * @date 2020/7/8 19:36
- * Description: 模拟数据提供者
- */
-public class DataTool {
-    private DataTool() {
-    }
-
-    public static List<CouponBean> getTemplateList(int functionTye) {
-
-        List<CouponBean> couponBeanList = new ArrayList<>();
-        switch (functionTye) {
-            case FunctionFragment.TEMPLATE_TYPE_BONUS:
-                CouponBean meituan1 = new CouponBean();
-                //meituan1.coverUrl = ConstantUrl.URL_RANDOM_PHOTO_WALLPAPER;
-                meituan1.coverUrl = String.valueOf(R.mipmap.meituan1);
-                meituan1.isCoverUrlLocal = true;
-                meituan1.couponName = "美团优惠券最多可领48元大礼包";
-                meituan1.jumpUrl = ConstantUrl.URL_MEITUAN_BONUS_1;
-                meituan1.actionEnable = true;
-                meituan1.isLocal = true;
-
-                CouponBean meituan2 = new CouponBean();
-                //meituan2.coverUrl = ConstantUrl.URL_RANDOM_PHOTO_WALLPAPER;
-                meituan2.coverUrl = String.valueOf(R.mipmap.meituan2);
-                meituan2.isCoverUrlLocal = true;
-                meituan2.couponName = "美团优惠券至少2元起(新老用户都可领)";
-                meituan2.jumpUrl = ConstantUrl.URL_MEITUAN_BONUS_2;
-                meituan2.actionEnable = true;
-                meituan2.isLocal = true;
-
-                couponBeanList.add(meituan2);
-                couponBeanList.add(meituan1);
-                break;
-            case FunctionFragment.TEMPLATE_TYPE_TEMPLATE:
-                CouponBean template = new CouponBean();
-                template.coverUrl = ConstantUrl.URL_RANDOM_PHOTO_ECY;
-                template.couponName = "DIY装机";
-                template.jumpUrl = ConstantUrl.URL_JD_TEMPLATE_COMPUTER;
-                template.actionEnable = true;
-                template.isLocal = true;
-                couponBeanList.add(template);
-                break;
-
-            case FunctionFragment.TEMPLATE_TYPE_GAME:
-//                CouponBean game = new CouponBean();
-//                game.setCoverUrl(ConstantUrl.URL_RANDOM_PHOTO_ECY);
-//                game.setTemplateName("欢乐猜猜");
-//                game.setActionEnable(false);
-                break;
-            default:
-                break;
-        }
-
-        return couponBeanList;
-    }
-
-    public static List<GoodsBean> getGoodsList() {
-        List<GoodsBean> goodsList = new ArrayList<>();
-        GoodsBean goodsBean = new GoodsBean();
-        goodsBean.coverImageUrl = "https://img14.360buyimg.com/n12/jfs/t1/97822/29/10664/255856/5e1ebf26Eea1a28ec/ac2c298127bae9a4.jpg";
-        goodsBean.title = "华硕(ASUS) PN60 商用办公家用教育 台式机电脑主机 (i3-8130U 128G SSD 4G 正版Win10 三年上门)迷你主机";
-        goodsBean.description = "远程教育,在家办公,顺畅不卡顿!";
-        goodsBean.dingNum = 108;
-        goodsBean.caiNum = 23;
-        goodsBean.enable = true;
-        goodsList.add(goodsBean);
-        return goodsList;
-    }
-}

+ 11 - 7
app/src/main/java/com/miekir/eden/tool/StringTool.java

@@ -1,8 +1,11 @@
 package com.miekir.eden.tool;
 
+import android.content.Context;
 import android.text.TextUtils;
 import android.util.Base64;
 
+import com.miekir.common.utils.ContextManager;
+
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.nio.charset.StandardCharsets;
@@ -63,13 +66,6 @@ public class StringTool {
     }
 
     public static String getNumberString(long number) {
-        if (number > 100000) {
-            return "10万+";
-        }
-
-        if (number > 10000) {
-            return number/10000+"万";
-        }
 
         return String.valueOf(number);
     }
@@ -85,4 +81,12 @@ public class StringTool {
         tokenArray[len-1] = temp;
         return new String(tokenArray);
     }
+
+    public static String getString(int stringId) {
+        Context context = ContextManager.getInstance().getContext();
+        if (context == null) {
+            return "";
+        }
+        return context.getString(stringId);
+    }
 }

+ 10 - 8
app/src/main/java/com/miekir/eden/tool/TimeTool.java

@@ -1,5 +1,7 @@
 package com.miekir.eden.tool;
 
+import com.miekir.eden.R;
+
 import java.util.Calendar;
 
 /**
@@ -19,33 +21,33 @@ public class TimeTool {
         int hour = cal.get(Calendar.HOUR_OF_DAY);
 
         if (hour >= 3 && hour < 6) {
-            return "凌晨";
+            return StringTool.getString(R.string.hello_lingchen);
         }
 
         if (hour >= 6 && hour < 8) {
-            return "早上";
+            return StringTool.getString(R.string.hell_zaoshang);
         }
 
         if (hour >= 8 && hour < 11) {
-            return "上午";
+            return StringTool.getString(R.string.hello_shangwu);
         }
 
         if (hour >= 11 && hour < 13) {
-            return "中午";
+            return StringTool.getString(R.string.hello_zhongwu);
         }
 
         if (hour >= 13 && hour < 17) {
-            return "下午";
+            return StringTool.getString(R.string.hello_xiawu);
         }
 
         if (hour >= 17 && hour < 19) {
-            return "傍晚";
+            return StringTool.getString(R.string.hello_bangwan);
         }
 
         if (hour >= 19 && hour < 23) {
-            return "晚上";
+            return StringTool.getString(R.string.hello_wanshang);
         }
 
-        return "深夜";
+        return StringTool.getString(R.string.hello_shenye);
     }
 }

+ 0 - 52
app/src/main/java/com/miekir/eden/ui/HomeFragment.java

@@ -1,52 +0,0 @@
-package com.miekir.eden.ui;
-
-import android.os.Bundle;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-
-import androidx.annotation.NonNull;
-import androidx.fragment.app.Fragment;
-import androidx.viewpager.widget.ViewPager;
-
-import com.flyco.tablayout.SlidingTabLayout;
-import com.miekir.common.adapter.TabFragmentAdapter;
-import com.miekir.eden.R;
-import com.miekir.eden.ui.home.goods.GoodsFragment;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class HomeFragment extends Fragment implements View.OnClickListener {
-
-
-    @Override
-    public View onCreateView(@NonNull LayoutInflater inflater,
-                             ViewGroup container, Bundle savedInstanceState) {
-        View root = inflater.inflate(R.layout.fragment_home, container, false);
-
-        String[] titles = {"推荐", "科技", "生活", "网络"};
-        List<Fragment> fragments = new ArrayList<>();
-        fragments.add(new GoodsFragment());
-        fragments.add(new GoodsFragment());
-        fragments.add(new GoodsFragment());
-        fragments.add(new GoodsFragment());
-
-        ViewPager vp_home = root.findViewById(R.id.vp_home);
-        TabFragmentAdapter adapter = new TabFragmentAdapter(getChildFragmentManager(), fragments);
-        vp_home.setAdapter(adapter);
-        vp_home.setOffscreenPageLimit(titles.length);
-        //vp_home.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
-
-        SlidingTabLayout stl_home = root.findViewById(R.id.stl_home);
-        stl_home.setViewPager(vp_home, titles);
-
-        root.findViewById(R.id.rl_search).setOnClickListener(this);
-        return root;
-    }
-
-    @Override
-    public void onClick(View v) {
-
-    }
-}

+ 0 - 88
app/src/main/java/com/miekir/eden/ui/MainActivity.java

@@ -1,88 +0,0 @@
-package com.miekir.eden.ui;
-
-import android.os.Bundle;
-import android.view.MenuItem;
-import android.view.View;
-
-import androidx.annotation.NonNull;
-import androidx.fragment.app.Fragment;
-import androidx.navigation.NavController;
-import androidx.viewpager.widget.ViewPager;
-
-import com.google.android.material.bottomnavigation.BottomNavigationView;
-import com.google.android.material.bottomnavigation.LabelVisibilityMode;
-import com.miekir.eden.R;
-import com.miekir.eden.adapter.FragmentPagerItemAdapter;
-import com.miekir.eden.base.BaseBeiActivity;
-import com.miekir.eden.ui.function.FunctionFragment;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class MainActivity extends BaseBeiActivity implements View.OnClickListener {
-
-    private NavController navController;
-    private ViewPager vp_main;
-    private List<Fragment> fragmentList;
-
-
-
-    @Override
-    public int getLayoutID() {
-        return R.layout.activity_main;
-    }
-
-    @Override
-    public void initViews(Bundle savedInstanceState) {
-        BottomNavigationView nav_view = findViewById(R.id.nav_view);
-        // 去除底部动画效果
-        //BottomNavigationViewHelper.disableShiftMode(navigation);
-        nav_view.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
-        // 底部导航菜单3个项以上不显示文字的问题
-        nav_view.setLabelVisibilityMode(LabelVisibilityMode.LABEL_VISIBILITY_LABELED);
-        // 避免在当前Fragment点击当前Fragment对应的Tab时仍然被销毁
-        nav_view.setOnNavigationItemReselectedListener(item -> {
-            // do nothing here
-        });
-
-        // 采用ViewPager+BottomNavigationView防止每次切换Tab时Fragment都被销毁
-        fragmentList = new ArrayList<>();
-        fragmentList.add(new HomeFragment());
-        fragmentList.add(new FunctionFragment());
-        //fragmentList.add(new MineFragment());
-        vp_main = findViewById(R.id.vp_main);
-        vp_main.setOffscreenPageLimit(fragmentList.size());
-
-        FragmentPagerItemAdapter adapter = new FragmentPagerItemAdapter(getSupportFragmentManager(), fragmentList);
-        vp_main.setAdapter(adapter);
-        vp_main.setCurrentItem(0);
-    }
-
-    private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener
-            = new BottomNavigationView.OnNavigationItemSelectedListener() {
-
-        @Override
-        public boolean onNavigationItemSelected(@NonNull MenuItem item) {
-            switch (item.getItemId()) {
-                case R.id.nav_home:
-                    vp_main.setCurrentItem(0);
-                    return true;
-                case R.id.nav_template:
-                    vp_main.setCurrentItem(1);
-                    return true;
-                case R.id.nav_mine:
-                    vp_main.setCurrentItem(2);
-                    return true;
-                default:
-                    break;
-            }
-            return false;
-        }
-    };
-
-
-    @Override
-    public void onClick(View v) {
-
-    }
-}

+ 6 - 5
app/src/main/java/com/miekir/eden/ui/TabActivity.java

@@ -23,6 +23,7 @@ import com.miekir.eden.base.BaseBeiActivity;
 import com.miekir.eden.base.ITopActionListener;
 import com.miekir.eden.bean.UpgradeBean;
 import com.miekir.eden.common.ICommonView;
+import com.miekir.eden.tool.StringTool;
 import com.miekir.eden.tool.SystemTool;
 import com.miekir.eden.ui.function.FunctionFragment;
 import com.miekir.eden.ui.home.about.AboutFragment;
@@ -62,7 +63,7 @@ public class TabActivity extends BaseBeiActivity implements View.OnClickListener
 
     @Override
     public void initViews(Bundle savedInstanceState) {
-        String[] titles = {"推荐", "图片", "关于"};
+        String[] titles = {StringTool.getString(R.string.title_recommend), StringTool.getString(R.string.title_photo), StringTool.getString(R.string.title_about)};
         List<Fragment> fragments = new ArrayList<>();
         fragments.add(new GoodsFragment());
         fragments.add(new TemplateFragment(FunctionFragment.TEMPLATE_TYPE_BONUS));
@@ -143,13 +144,13 @@ public class TabActivity extends BaseBeiActivity implements View.OnClickListener
     }
 
     @Override
-    public void onCommonResult(boolean success, String message, UpgradeBean resultBean) {
+    public void onCommonResult(boolean success, int code, UpgradeBean resultBean) {
         // 获取到了版本信息
         if (success && resultBean != null && SystemTool.getVersionCode(this) < resultBean.versionCode) {
             AlertDialog alertDialog = new AlertDialog.Builder(this)
                     .setMessage(resultBean.content)
-                    .setNegativeButton("取消", (dialog, which) -> dialog.dismiss())
-                    .setPositiveButton("确定", (DialogInterface dialog, int which) -> {
+                    .setNegativeButton(StringTool.getString(R.string.cancel), (dialog, which) -> dialog.dismiss())
+                    .setPositiveButton(StringTool.getString(R.string.confirm), (DialogInterface dialog, int which) -> {
                         dialog.dismiss();
                         if (!TextUtils.isEmpty(resultBean.url)) {
                             ActivityTool.openUrl(TabActivity.this, resultBean.url);
@@ -163,7 +164,7 @@ public class TabActivity extends BaseBeiActivity implements View.OnClickListener
     @Override
     public void onBackPressed() {
         if (System.currentTimeMillis() - mLastBackMillis > 3000) {
-            ToastTool.showShort("再按一次退出");
+            ToastTool.showShort(StringTool.getString(R.string.exit_press_again));
             mLastBackMillis = System.currentTimeMillis();
         } else {
             super.onBackPressed();

+ 2 - 1
app/src/main/java/com/miekir/eden/ui/function/FunctionFragment.java

@@ -12,6 +12,7 @@ import androidx.viewpager.widget.ViewPager;
 import com.flyco.tablayout.SlidingTabLayout;
 import com.miekir.common.adapter.TabFragmentAdapter;
 import com.miekir.eden.R;
+import com.miekir.eden.tool.StringTool;
 import com.miekir.eden.ui.home.coupon.TemplateFragment;
 
 import java.util.ArrayList;
@@ -29,7 +30,7 @@ public class FunctionFragment extends Fragment {
     public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
 
         View root = inflater.inflate(R.layout.fragment_function, container, false);
-        String[] titles = {"游戏", "优惠", "模板"};
+        String[] titles = {StringTool.getString(R.string.tag_game), StringTool.getString(R.string.tab_coupon), StringTool.getString(R.string.tab_template)};
         List<Fragment> fragments = new ArrayList<>();
         fragments.add(new TemplateFragment(TEMPLATE_TYPE_GAME));
         fragments.add(new TemplateFragment(TEMPLATE_TYPE_BONUS));

+ 12 - 10
app/src/main/java/com/miekir/eden/ui/home/about/AboutFragment.java

@@ -13,6 +13,7 @@ import com.miekir.eden.R;
 import com.miekir.eden.bean.UpgradeBean;
 import com.miekir.eden.common.ICommonView;
 import com.miekir.eden.manager.UserInfoManager;
+import com.miekir.eden.tool.StringTool;
 import com.miekir.eden.tool.SystemTool;
 import com.miekir.eden.ui.home.about.upgrade.UpgradePresenter;
 import com.miekir.mvp.presenter.InjectPresenter;
@@ -26,7 +27,7 @@ import com.miekir.mvp.view.BaseMVPFragment;
  */
 public class AboutFragment extends BaseMVPFragment implements View.OnClickListener, ICommonView<UpgradeBean> {
 
-    private static final String TITLE_FORMAT = "伊甸园 v%s%s";
+    private String TITLE_FORMAT;
 
     private TextView tv_title;
     private TextView tv_desc;
@@ -38,6 +39,8 @@ public class AboutFragment extends BaseMVPFragment implements View.OnClickListen
 
     @Override
     protected void onViewInit() {
+        TITLE_FORMAT = StringTool.getString(R.string.about_title);
+
         tv_title = rootView.findViewById(R.id.tv_title);
         tv_desc = rootView.findViewById(R.id.tv_desc);
         tv_active = rootView.findViewById(R.id.tv_active);
@@ -62,7 +65,8 @@ public class AboutFragment extends BaseMVPFragment implements View.OnClickListen
         }
 
         boolean isActive = UserInfoManager.getInstance().getBeiUser().vip;
-        String title = String.format(TITLE_FORMAT, SystemTool.getVersionName(getActivity()), isActive ? "(已激活)" : "(未激活)");
+        String title = String.format(TITLE_FORMAT, SystemTool.getVersionName(getActivity()), isActive ?
+                StringTool.getString(R.string.about_active) : StringTool.getString(R.string.about_not_active));
         tv_title.setText(title);
         if (isActive) {
             tv_desc.setVisibility(View.GONE);
@@ -92,7 +96,7 @@ public class AboutFragment extends BaseMVPFragment implements View.OnClickListen
 
             case R.id.ll_email:
                 SystemTool.copyText(getActivity(), UserInfoManager.getInstance().getBeiUser().email);
-                ToastTool.showLong("已拷贝当前账号");
+                ToastTool.showLong(StringTool.getString(R.string.about_copy_account));
                 break;
 
             case R.id.tv_update:
@@ -103,13 +107,11 @@ public class AboutFragment extends BaseMVPFragment implements View.OnClickListen
             case R.id.tv_active:
                 // 立即激活
                 SystemTool.copyText(getActivity(), UserInfoManager.getInstance().getBeiUser().email);
-                ToastTool.showLong("已拷贝当前账号,请务必粘贴到备注");
+                ToastTool.showLong(StringTool.getString(R.string.about_active_copy_account));
                 ActivityTool.openUrl(getActivity(), UserInfoManager.getInstance().getSystemBean().zfb);
                 break;
 
             case R.id.tv_more:
-                SystemTool.copyText(getActivity(), "http://jianjie.life");
-                ToastTool.showShort("已拷贝主页链接");
                 break;
             default:
                 break;
@@ -117,7 +119,7 @@ public class AboutFragment extends BaseMVPFragment implements View.OnClickListen
     }
 
     @Override
-    public void onCommonResult(boolean success, String message, UpgradeBean resultBean) {
+    public void onCommonResult(boolean success, int code, UpgradeBean resultBean) {
         dismissLoading();
         // 获取到了版本信息
         if (success && resultBean != null &&
@@ -125,8 +127,8 @@ public class AboutFragment extends BaseMVPFragment implements View.OnClickListen
                 !TextUtils.isEmpty(resultBean.url)) {
             AlertDialog alertDialog = new AlertDialog.Builder(getActivity())
                     .setMessage(resultBean.content)
-                    .setNegativeButton("取消", (dialog, which) -> dialog.dismiss())
-                    .setPositiveButton("确定", (DialogInterface dialog, int which) -> {
+                    .setNegativeButton(StringTool.getString(R.string.cancel), (dialog, which) -> dialog.dismiss())
+                    .setPositiveButton(StringTool.getString(R.string.confirm), (DialogInterface dialog, int which) -> {
                         dialog.dismiss();
                         ActivityTool.openUrl(getActivity(), resultBean.url);
                     }).create();
@@ -134,7 +136,7 @@ public class AboutFragment extends BaseMVPFragment implements View.OnClickListen
             alertDialog.setCanceledOnTouchOutside(false);
             alertDialog.show();
         } else {
-            ToastTool.showShort("当前已经是最新版本啦");
+            ToastTool.showShort(StringTool.getString(R.string.about_top_version));
         }
     }
 }

+ 3 - 4
app/src/main/java/com/miekir/eden/ui/home/about/upgrade/UpgradePresenter.java

@@ -1,10 +1,9 @@
 package com.miekir.eden.ui.home.about.upgrade;
 
-import android.text.TextUtils;
-
 import com.miekir.eden.base.ApiService;
 import com.miekir.eden.bean.UpgradeBean;
 import com.miekir.eden.common.ICommonView;
+import com.miekir.eden.constant.EdenError;
 import com.miekir.eden.net.RetrofitHelper;
 import com.miekir.mvp.presenter.BasePresenter;
 import com.miekir.network.core.base.BaseObserver;
@@ -33,14 +32,14 @@ public class UpgradePresenter extends BasePresenter<ICommonView<UpgradeBean>> {
                     @Override
                     public void onSuccess(UpgradeBean result) {
                         if (getView() != null) {
-                            getView().onCommonResult(true, "", result);
+                            getView().onCommonResult(true, EdenError.SUCCESS, result);
                         }
                     }
 
                     @Override
                     public void onFailure(Throwable e, String errMsg) {
                         if (getView() != null) {
-                            getView().onCommonResult(false, TextUtils.isEmpty(errMsg) ? "获取失败:"+e.getMessage() : errMsg, null);
+                            getView().onCommonResult(false, EdenError.COMMON, null);
                         }
                     }
                 });

+ 2 - 2
app/src/main/java/com/miekir/eden/ui/home/coupon/ITemplateView.java

@@ -12,6 +12,6 @@ import java.util.List;
  * Description: Template的View
  */
 public interface ITemplateView<T> extends IView {
-    void onTemplateDataCome(boolean success, String message, List<T> couponBeanList);
-    void onDeleteCouponResult(boolean success, String message, int position);
+    void onTemplateDataCome(boolean success, int code, List<T> couponBeanList);
+    void onDeleteCouponResult(boolean success, int code, int position);
 }

+ 8 - 8
app/src/main/java/com/miekir/eden/ui/home/coupon/TemplateFragment.java

@@ -10,6 +10,7 @@ import com.bumptech.glide.Glide;
 import com.miekir.common.utils.ToastTool;
 import com.miekir.eden.R;
 import com.miekir.eden.base.ITopActionListener;
+import com.miekir.eden.tool.StringTool;
 import com.miekir.eden.ui.function.FunctionFragment;
 import com.miekir.eden.widget.bottomlistener.OnRcvScrollListener;
 import com.miekir.eden.widget.decoration.DividerItemDecoration;
@@ -151,10 +152,10 @@ public class TemplateFragment extends BaseMVPFragment implements ITemplateView<S
 
 
     @Override
-    public void onTemplateDataCome(boolean success, String message, List<String> couponBeanList) {
+    public void onTemplateDataCome(boolean success, int code, List<String> couponBeanList) {
         srl_template.setRefreshing(false);
         if (!success) {
-            ToastTool.showShort(message);
+            ToastTool.showShort(StringTool.getString(R.string.data_get_fail));
             return;
         }
 
@@ -176,7 +177,7 @@ public class TemplateFragment extends BaseMVPFragment implements ITemplateView<S
         // 如果是下拉刷新获取的第0页数据,item不要自动滚动一段距离
         // 或者用这个mLayoutManager.scrollToPositionWithOffset(0, 0);
         if (mIsRefresh) {
-            ToastTool.showShort("刷新成功");
+            ToastTool.showShort(StringTool.getString(R.string.data_refresh_success));
             rv_template.smoothScrollToPosition(0);
         }
 
@@ -184,7 +185,7 @@ public class TemplateFragment extends BaseMVPFragment implements ITemplateView<S
         if (couponBeanList != null && couponBeanList.size() > 0) {
             mCurrentPage++;
         } else {
-            ToastTool.showShort("没有更多数据了");
+            ToastTool.showShort(StringTool.getString(R.string.data_no_more));
         }
     }
 
@@ -192,16 +193,15 @@ public class TemplateFragment extends BaseMVPFragment implements ITemplateView<S
      * 删除商品结果
      *
      * @param success
-     * @param message
      * @param position
      */
     @Override
-    public void onDeleteCouponResult(boolean success, String message, int position) {
+    public void onDeleteCouponResult(boolean success, int code, int position) {
         if (success) {
             mAdapter.notifyItemRemoved(position);
-            ToastTool.showShort("删除成功");
+            ToastTool.showShort(StringTool.getString(R.string.delete_success));
         } else {
-            ToastTool.showShort(message);
+            ToastTool.showShort(StringTool.getString(R.string.delete_fail));
         }
     }
 

+ 5 - 6
app/src/main/java/com/miekir/eden/ui/home/coupon/TemplatePresenter.java

@@ -1,8 +1,7 @@
 package com.miekir.eden.ui.home.coupon;
 
-import android.text.TextUtils;
-
 import com.miekir.eden.base.ApiService;
+import com.miekir.eden.constant.EdenError;
 import com.miekir.eden.net.RetrofitHelper;
 import com.miekir.mvp.presenter.BasePresenter;
 import com.miekir.network.core.base.BaseObserver;
@@ -32,14 +31,14 @@ public class TemplatePresenter extends BasePresenter<ITemplateView<String>> {
                     @Override
                     public void onSuccess(List<String> result) {
                         if (getView() != null) {
-                            getView().onTemplateDataCome(true, "", result);
+                            getView().onTemplateDataCome(true, EdenError.SUCCESS, result);
                         }
                     }
 
                     @Override
                     public void onFailure(Throwable e, String errMsg) {
                         if (getView() != null) {
-                            getView().onTemplateDataCome(false, TextUtils.isEmpty(errMsg) ? "获取失败:"+e.getMessage() : errMsg, null);
+                            getView().onTemplateDataCome(false, EdenError.COMMON, null);
                         }
                     }
                 });
@@ -56,14 +55,14 @@ public class TemplatePresenter extends BasePresenter<ITemplateView<String>> {
                     @Override
                     public void onSuccess(String result) {
                         if (getView() != null) {
-                            getView().onDeleteCouponResult(true, result, position);
+                            getView().onDeleteCouponResult(true, EdenError.SUCCESS, position);
                         }
                     }
 
                     @Override
                     public void onFailure(Throwable e, String errMsg) {
                         if (getView() != null) {
-                            getView().onDeleteCouponResult(false, TextUtils.isEmpty(errMsg) ? "删除失败:"+e.getMessage() : errMsg, position);
+                            getView().onDeleteCouponResult(false, EdenError.COMMON, position);
                         }
                     }
                 });

+ 10 - 10
app/src/main/java/com/miekir/eden/ui/home/goods/GoodsAdapter.java

@@ -91,9 +91,9 @@ public class GoodsAdapter extends BaseQuickAdapter<GoodsBean, BaseViewHolder> {
             holder.setText(R.id.tv_title, goodsBean.title);
         } else {
             if (TextUtils.equals(ConstantString.NAME_ADMIN, UserInfoManager.getInstance().getBeiUser().email)) {
-                holder.setText(R.id.tv_title, goodsBean.title + "(已禁用)");
+                holder.setText(R.id.tv_title, goodsBean.title + StringTool.getString(R.string.limited));
             } else {
-                holder.setText(R.id.tv_title, "已被禁用");
+                holder.setText(R.id.tv_title, StringTool.getString(R.string.limited_title));
             }
         }
 
@@ -106,7 +106,7 @@ public class GoodsAdapter extends BaseQuickAdapter<GoodsBean, BaseViewHolder> {
 
         holder.setOnClickListener(R.id.cv_goods, v -> {
             if (!goodsBean.enable) {
-                ToastTool.showShort("敬请期待");
+                ToastTool.showShort(StringTool.getString(R.string.coming));
                 return;
             }
 
@@ -197,18 +197,18 @@ public class GoodsAdapter extends BaseQuickAdapter<GoodsBean, BaseViewHolder> {
      */
     private void showAdminDialog(GoodsBean goodsBean, int position) {
         AlertDialog alertDialog = new AlertDialog.Builder(mContext)
-                .setMessage("选择操作")
-                .setNeutralButton("取消", (dialog, which) -> {
+                .setMessage(StringTool.getString(R.string.operate_title))
+                .setNeutralButton(StringTool.getString(R.string.cancel), (dialog, which) -> {
                     dialog.dismiss();
                 })
-                .setNegativeButton("禁用", (DialogInterface dialog, int which) -> {
+                .setNegativeButton(StringTool.getString(R.string.operate_limited), (DialogInterface dialog, int which) -> {
                     dialog.dismiss();
                     if (mContext instanceof BaseBeiActivity) {
                         ((BaseBeiActivity) mContext).showLoading();
                     }
                     mGoodsPresenter.revertGoodsEnable(position, goodsBean.id);
                 })
-                .setPositiveButton("删除", (DialogInterface dialog, int which) -> {
+                .setPositiveButton(StringTool.getString(R.string.operate_delete), (DialogInterface dialog, int which) -> {
                     dialog.dismiss();
                     showDeleteDialog(goodsBean, position);
                 }).create();
@@ -222,9 +222,9 @@ public class GoodsAdapter extends BaseQuickAdapter<GoodsBean, BaseViewHolder> {
      */
     private void showDeleteDialog(GoodsBean goodsBean, int position) {
         AlertDialog alertDialog = new AlertDialog.Builder(mContext)
-                .setMessage("确定删除商品:" + goodsBean.title)
-                .setNegativeButton("取消", (dialog, which) -> dialog.dismiss())
-                .setPositiveButton("确定", (DialogInterface dialog, int which) -> {
+                .setMessage(StringTool.getString(R.string.operate_sure_to_delete) + goodsBean.title)
+                .setNegativeButton(StringTool.getString(R.string.cancel), (dialog, which) -> dialog.dismiss())
+                .setPositiveButton(StringTool.getString(R.string.confirm), (DialogInterface dialog, int which) -> {
                     dialog.dismiss();
                     if (mContext instanceof BaseBeiActivity) {
                         ((BaseBeiActivity) mContext).showLoading();

+ 1 - 1
app/src/main/java/com/miekir/eden/ui/home/goods/GoodsBean.java

@@ -40,7 +40,7 @@ public class GoodsBean implements Serializable {
     /**
      * 时长-1表示未知
      */
-    public String timeLong = "未知";
+    public String timeLong;
 
     /**
      * 视频尺寸

+ 14 - 11
app/src/main/java/com/miekir/eden/ui/home/goods/GoodsFragment.java

@@ -11,6 +11,7 @@ import com.miekir.common.utils.ToastTool;
 import com.miekir.eden.R;
 import com.miekir.eden.base.BaseBeiActivity;
 import com.miekir.eden.base.ITopActionListener;
+import com.miekir.eden.tool.StringTool;
 import com.miekir.eden.widget.bottomlistener.OnRcvScrollListener;
 import com.miekir.eden.widget.decoration.SpacesItemDecoration;
 import com.miekir.mvp.presenter.InjectPresenter;
@@ -132,14 +133,13 @@ public class GoodsFragment extends BaseMVPFragment implements IGoodsView, ITopAc
     /**
      * 获取商品结果
      * @param success
-     * @param message
      * @param goodsList
      */
     @Override
-    public void onGoodsDataCome(boolean success, String message, List<GoodsBean> goodsList) {
+    public void onGoodsDataCome(boolean success, int code, List<GoodsBean> goodsList) {
         srl_goods.setRefreshing(false);
         if (!success) {
-            ToastTool.showShort(message);
+            ToastTool.showShort(StringTool.getString(R.string.data_get_fail));
             return;
         }
 
@@ -147,7 +147,7 @@ public class GoodsFragment extends BaseMVPFragment implements IGoodsView, ITopAc
             mGoodsList.clear();
             // 如果是下拉刷新获取的第0页数据,item不要自动滚动一段距离,或者用这个mLayoutManager.scrollToPositionWithOffset(0, 0);
             if (mIsRefresh) {
-                ToastTool.showShort("刷新成功");
+                ToastTool.showShort(StringTool.getString(R.string.data_refresh_success));
                 rv_goods.smoothScrollToPosition(0);
             }
         }
@@ -168,32 +168,31 @@ public class GoodsFragment extends BaseMVPFragment implements IGoodsView, ITopAc
         if (goodsList != null && goodsList.size() > 0) {
             mCurrentPage++;
         } else {
-            ToastTool.showShort("没有更多数据了");
+            ToastTool.showShort(StringTool.getString(R.string.data_no_more));
         }
     }
 
     /**
      * 删除商品结果
      * @param success
-     * @param message
      * @param position
      */
     @Override
-    public void onDeleteGoodsResult(boolean success, String message, int position) {
+    public void onDeleteGoodsResult(boolean success, int code, int position) {
         if (getActivity() instanceof BaseBeiActivity) {
             ((BaseBeiActivity)getActivity()).dismissLoading();
         }
         if (success) {
             mGoodsList.remove(position);
             mAdapter.notifyItemRemoved(position);
-            ToastTool.showShort("删除成功");
+            ToastTool.showShort(StringTool.getString(R.string.delete_success));
         } else {
-            ToastTool.showShort(message);
+            ToastTool.showShort(StringTool.getString(R.string.delete_fail));
         }
     }
 
     @Override
-    public void onRevertGoodsEnable(boolean success, String message, int position) {
+    public void onRevertGoodsEnable(boolean success, int code, int position) {
         if (getActivity() instanceof BaseBeiActivity) {
             ((BaseBeiActivity)getActivity()).dismissLoading();
         }
@@ -201,7 +200,11 @@ public class GoodsFragment extends BaseMVPFragment implements IGoodsView, ITopAc
             mGoodsList.get(position).enable = !mGoodsList.get(position).enable;
             mAdapter.notifyItemChanged(position);
         }
-        ToastTool.showShort(message);
+        if (success) {
+            ToastTool.showShort(StringTool.getString(R.string.operate_success));
+        } else {
+            ToastTool.showShort(StringTool.getString(R.string.operate_fail));
+        }
     }
 
     @Override

+ 7 - 8
app/src/main/java/com/miekir/eden/ui/home/goods/GoodsPresenter.java

@@ -1,8 +1,7 @@
 package com.miekir.eden.ui.home.goods;
 
-import android.text.TextUtils;
-
 import com.miekir.eden.base.ApiService;
+import com.miekir.eden.constant.EdenError;
 import com.miekir.eden.net.RetrofitHelper;
 import com.miekir.mvp.presenter.BasePresenter;
 import com.miekir.network.core.base.BaseObserver;
@@ -30,14 +29,14 @@ public class GoodsPresenter extends BasePresenter<IGoodsView> {
                     @Override
                     public void onSuccess(List<GoodsBean> result) {
                         if (getView() != null) {
-                            getView().onGoodsDataCome(true, "", result);
+                            getView().onGoodsDataCome(true, EdenError.SUCCESS, result);
                         }
                     }
 
                     @Override
                     public void onFailure(Throwable e, String errMsg) {
                         if (getView() != null) {
-                            getView().onGoodsDataCome(false, TextUtils.isEmpty(errMsg) ? "获取失败:"+e.getMessage() : errMsg, null);
+                            getView().onGoodsDataCome(false, EdenError.COMMON, null);
                         }
                     }
                 });
@@ -53,14 +52,14 @@ public class GoodsPresenter extends BasePresenter<IGoodsView> {
                     @Override
                     public void onSuccess(String result) {
                         if (getView() != null) {
-                            getView().onDeleteGoodsResult(true, result, position);
+                            getView().onDeleteGoodsResult(true, EdenError.SUCCESS, position);
                         }
                     }
 
                     @Override
                     public void onFailure(Throwable e, String errMsg) {
                         if (getView() != null) {
-                            getView().onDeleteGoodsResult(false, TextUtils.isEmpty(errMsg) ? "删除失败:"+e.getMessage() : errMsg, position);
+                            getView().onDeleteGoodsResult(false, EdenError.COMMON, position);
                         }
                     }
                 });
@@ -76,14 +75,14 @@ public class GoodsPresenter extends BasePresenter<IGoodsView> {
                     @Override
                     public void onSuccess(String result) {
                         if (getView() != null) {
-                            getView().onRevertGoodsEnable(true, result, position);
+                            getView().onRevertGoodsEnable(true, EdenError.SUCCESS, position);
                         }
                     }
 
                     @Override
                     public void onFailure(Throwable e, String errMsg) {
                         if (getView() != null) {
-                            getView().onRevertGoodsEnable(false, TextUtils.isEmpty(errMsg) ? "设置失败:"+e.getMessage() : errMsg, position);
+                            getView().onRevertGoodsEnable(false, EdenError.COMMON, position);
                         }
                     }
                 });

+ 3 - 3
app/src/main/java/com/miekir/eden/ui/home/goods/IGoodsView.java

@@ -12,7 +12,7 @@ import java.util.List;
  * Description: 商品的View回调
  */
 public interface IGoodsView extends IView {
-    void onGoodsDataCome(boolean success, String message, List<GoodsBean> goodsList);
-    void onDeleteGoodsResult(boolean success, String message, int position);
-    void onRevertGoodsEnable(boolean success, String message, int position);
+    void onGoodsDataCome(boolean success, int code, List<GoodsBean> goodsList);
+    void onDeleteGoodsResult(boolean success, int code, int position);
+    void onRevertGoodsEnable(boolean success, int code, int position);
 }

+ 15 - 11
app/src/main/java/com/miekir/eden/ui/home/goods/detail/GoodsDetailActivity.java

@@ -16,6 +16,7 @@ import com.miekir.common.utils.ToastTool;
 import com.miekir.eden.BuildConfig;
 import com.miekir.eden.R;
 import com.miekir.eden.base.BaseBeiActivity;
+import com.miekir.eden.tool.StringTool;
 import com.miekir.eden.tool.SystemTool;
 import com.miekir.eden.ui.home.goods.GoodsBean;
 import com.miekir.eden.ui.home.goods.MagnetBean;
@@ -35,8 +36,8 @@ import java.util.Map;
  * Description: 详情界面
  */
 public class GoodsDetailActivity extends BaseBeiActivity implements View.OnClickListener, IFavView, ISeeView {
-    public static final String FORMATTER_SEE_NUM = "浏览%s次";
-    public static final String FORMATTER_FAV_NUM = "收藏%s次";
+    public static String FORMATTER_SEE_NUM = StringTool.getString(R.string.goods_view_num);
+    public static String FORMATTER_FAV_NUM = StringTool.getString(R.string.goods_fav_num);
 
     @InjectPresenter
     FavPresenter favPresenter;
@@ -68,7 +69,7 @@ public class GoodsDetailActivity extends BaseBeiActivity implements View.OnClick
 
     @Override
     public void initViews(Bundle savedInstanceState) {
-        setTitle("详情");
+        setTitle(StringTool.getString(R.string.title_detail));
         mGoodsBean = (GoodsBean) getIntent().getSerializableExtra(KEY_GOODS);
         if (mGoodsBean == null) {
             return;
@@ -138,9 +139,9 @@ public class GoodsDetailActivity extends BaseBeiActivity implements View.OnClick
         getMenuInflater().inflate(R.menu.menu_done, menu);
         item = menu.findItem(R.id.action_done);
         if (mGoodsBean.isFavorite) {
-            item.setTitle("  已收藏  ");
+            item.setTitle(StringTool.getString(R.string.goods_in_fav));
         } else {
-            item.setTitle("  收藏  ");
+            item.setTitle(StringTool.getString(R.string.goods_fav));
         }
         return super.onCreateOptionsMenu(menu);
     }
@@ -168,15 +169,15 @@ public class GoodsDetailActivity extends BaseBeiActivity implements View.OnClick
     }
 
     @Override
-    public void onFavResult(boolean success, String result) {
+    public void onFavResult(boolean success, int code) {
         dismissLoading();
         if (success) {
             mGoodsBean.isFavorite = !mGoodsBean.isFavorite;
             if (mGoodsBean.isFavorite) {
-                item.setTitle("  已收藏  ");
+                item.setTitle(StringTool.getString(R.string.goods_in_fav));
                 mGoodsBean.favNum = mGoodsBean.favNum+1;
             } else {
-                item.setTitle("  收藏  ");
+                item.setTitle(StringTool.getString(R.string.goods_fav));
                 mGoodsBean.favNum = mGoodsBean.favNum-1;
             }
             if (mGoodsBean.favNum < 0) {
@@ -184,8 +185,11 @@ public class GoodsDetailActivity extends BaseBeiActivity implements View.OnClick
             }
             tv_fav_num.setText(String.format(FORMATTER_FAV_NUM, mGoodsBean.favNum));
             setResult(RESULT_OK, getIntent().putExtra(KEY_GOODS, mGoodsBean));
+            ToastTool.showShort(StringTool.getString(R.string.goods_fav_success));
+
+        } else {
+            ToastTool.showShort(StringTool.getString(R.string.goods_fav_fail));
         }
-        ToastTool.showShort(result);
     }
 
     @Override
@@ -198,7 +202,7 @@ public class GoodsDetailActivity extends BaseBeiActivity implements View.OnClick
     public void onGetTorrentSecretResult(boolean success, Map<String, Object> result) {
         dismissLoading();
         if (!success || result == null) {
-            ToastTool.showShort("获取下载地址失败");
+            ToastTool.showShort(StringTool.getString(R.string.goods_get_download_fail));
             return;
         }
 
@@ -206,7 +210,7 @@ public class GoodsDetailActivity extends BaseBeiActivity implements View.OnClick
         String f = (String) result.get("f");
         String u = (String) result.get("u");
 
-        ToastTool.showShort("已复制资源链接");
+        ToastTool.showShort(StringTool.getString(R.string.goods_torrent_copied));
         SystemTool.copyText(this, String.format(URL_TORRENT_FORMAT, BuildConfig.BASE_URL, s, f, u));
     }
 }

+ 3 - 2
app/src/main/java/com/miekir/eden/ui/home/goods/detail/MagnetAdapter.java

@@ -14,6 +14,7 @@ import com.miekir.common.utils.ToastTool;
 import com.miekir.eden.R;
 import com.miekir.eden.base.BaseBeiActivity;
 import com.miekir.eden.manager.UserInfoManager;
+import com.miekir.eden.tool.StringTool;
 import com.miekir.eden.ui.home.goods.MagnetBean;
 
 import java.util.List;
@@ -39,12 +40,12 @@ public class MagnetAdapter extends BaseQuickAdapter<MagnetBean, BaseViewHolder>
     @Override
     protected void convert(@NonNull BaseViewHolder helper, MagnetBean magnetBean) {
         TextView tv_detail_magnet = helper.getView(R.id.tv_detail_magnet);
-        tv_detail_magnet.setText(magnetBean.text  + "(点击复制)");
+        tv_detail_magnet.setText(magnetBean.text  + StringTool.getString(R.string.click_to_copy));
 
         //String realUrl = magnetBean.url.startsWith("http") ? magnetBean.url : BuildConfig.HOST_STATIC_RESOURCE+magnetBean.url;
         tv_detail_magnet.setOnClickListener(v -> {
             if (!UserInfoManager.getInstance().getBeiUser().vip) {
-                ToastTool.showShort("请先激活会员");
+                ToastTool.showShort(StringTool.getString(R.string.upgrade_to_vip));
                 if (mContext instanceof Activity) {
                     Activity activity = (Activity)mContext;
                     Intent intent = activity.getIntent();

+ 1 - 1
app/src/main/java/com/miekir/eden/ui/home/search/ISearchView.java

@@ -12,5 +12,5 @@ import java.util.List;
  * @date 2020/7/8 19:44
  */
 public interface ISearchView extends IView {
-    void onSearchKeywordResult(boolean success, String message, List<GoodsBean> goodsList);
+    void onSearchKeywordResult(boolean success, int code, List<GoodsBean> goodsList);
 }

+ 14 - 13
app/src/main/java/com/miekir/eden/ui/home/search/SearchActivity.java

@@ -15,6 +15,7 @@ import com.miekir.common.utils.ToastTool;
 import com.miekir.common.utils.ViewTool;
 import com.miekir.eden.R;
 import com.miekir.eden.base.BaseBeiActivity;
+import com.miekir.eden.tool.StringTool;
 import com.miekir.eden.ui.home.goods.GoodsAdapter;
 import com.miekir.eden.ui.home.goods.GoodsBean;
 import com.miekir.eden.ui.home.goods.GoodsPresenter;
@@ -67,7 +68,7 @@ public class SearchActivity extends BaseBeiActivity implements View.OnClickListe
 
     @Override
     public void initViews(Bundle savedInstanceState) {
-        setTitle("搜索");
+        setTitle(StringTool.getString(R.string.title_search));
         et_search = findViewById(R.id.et_search);
         et_search.setOnFocusChangeListener(this);
         btn_search = findViewById(R.id.btn_search);
@@ -136,7 +137,7 @@ public class SearchActivity extends BaseBeiActivity implements View.OnClickListe
                 et_search.clearFocus();
                 mKeyword = et_search.getText().toString();
                 if (TextUtils.isEmpty(mKeyword)) {
-                    ToastTool.showShort("请输入关键字或链接");
+                    ToastTool.showShort(StringTool.getString(R.string.hint_input_keyword));
                     return;
                 }
                 showLoading();
@@ -160,12 +161,12 @@ public class SearchActivity extends BaseBeiActivity implements View.OnClickListe
     }
 
     @Override
-    public void onSearchKeywordResult(boolean success, String message, List<GoodsBean> goodsList) {
+    public void onSearchKeywordResult(boolean success, int code, List<GoodsBean> goodsList) {
         dismissLoading();
         mIsLoading = false;
 
         if (!success) {
-            ToastTool.showShort(message);
+            ToastTool.showShort(StringTool.getString(R.string.search_fail));
             return;
         }
 
@@ -191,47 +192,47 @@ public class SearchActivity extends BaseBeiActivity implements View.OnClickListe
         if (goodsList != null && goodsList.size() > 0) {
             mCurrentPage++;
         } else {
-            ToastTool.showShort("没有更多数据了");
+            ToastTool.showShort(StringTool.getString(R.string.data_no_more));
         }
     }
 
     /**
      * 获取商品结果
      * @param success
-     * @param message
      * @param goodsList
      */
     @Override
-    public void onGoodsDataCome(boolean success, String message, List<GoodsBean> goodsList) {
+    public void onGoodsDataCome(boolean success, int code, List<GoodsBean> goodsList) {
 
     }
 
     /**
      * 删除商品结果
      * @param success
-     * @param message
      * @param position
      */
     @Override
-    public void onDeleteGoodsResult(boolean success, String message, int position) {
+    public void onDeleteGoodsResult(boolean success, int code, int position) {
         dismissLoading();
         if (success) {
             mGoodsList.remove(position);
             mAdapter.notifyItemRemoved(position);
-            ToastTool.showShort("删除成功");
+            ToastTool.showShort(StringTool.getString(R.string.delete_success));
         } else {
-            ToastTool.showShort(message);
+            ToastTool.showShort(StringTool.getString(R.string.delete_fail));
         }
     }
 
     @Override
-    public void onRevertGoodsEnable(boolean success, String message, int position) {
+    public void onRevertGoodsEnable(boolean success, int code, int position) {
         dismissLoading();
         if (success) {
             mGoodsList.get(position).enable = !mGoodsList.get(position).enable;
             mAdapter.notifyItemChanged(position);
+            ToastTool.showShort(StringTool.getString(R.string.operate_success));
+        } else {
+            ToastTool.showShort(StringTool.getString(R.string.operate_fail));
         }
-        ToastTool.showShort(message);
     }
 
     @Override

+ 3 - 4
app/src/main/java/com/miekir/eden/ui/home/search/SearchPresenter.java

@@ -1,8 +1,7 @@
 package com.miekir.eden.ui.home.search;
 
-import android.text.TextUtils;
-
 import com.miekir.eden.base.ApiService;
+import com.miekir.eden.constant.EdenError;
 import com.miekir.eden.net.RetrofitHelper;
 import com.miekir.eden.ui.home.goods.GoodsBean;
 import com.miekir.mvp.presenter.BasePresenter;
@@ -32,14 +31,14 @@ public class SearchPresenter extends BasePresenter<ISearchView> {
                     @Override
                     public void onSuccess(List<GoodsBean> result) {
                         if (getView() != null) {
-                            getView().onSearchKeywordResult(true, "", result);
+                            getView().onSearchKeywordResult(true, EdenError.SUCCESS, result);
                         }
                     }
 
                     @Override
                     public void onFailure(Throwable e, String errMsg) {
                         if (getView() != null) {
-                            getView().onSearchKeywordResult(false, TextUtils.isEmpty(errMsg) ? "获取失败:"+e.getMessage() : errMsg, null);
+                            getView().onSearchKeywordResult(false, EdenError.COMMON, null);
                         }
                     }
                 });

+ 3 - 3
app/src/main/java/com/miekir/eden/ui/home/tool/ISystemView.java

@@ -10,7 +10,7 @@ import com.miekir.mvp.view.IView;
  * @date 2020/7/8 19:44
  */
 public interface ISystemView extends IView {
-    void onGetConfigResult(boolean success, String message, SystemBean resultBean);
-    void onSetConfigResult(int configType, boolean success, String message, String newZFB);
-    void onSetVipResult(boolean success, String message);
+    void onGetConfigResult(boolean success, int code, SystemBean resultBean);
+    void onSetConfigResult(int configType, boolean success, int code, String newZFB);
+    void onSetVipResult(boolean success, int code);
 }

+ 7 - 8
app/src/main/java/com/miekir/eden/ui/home/tool/SystemPresenter.java

@@ -1,9 +1,8 @@
 package com.miekir.eden.ui.home.tool;
 
-import android.text.TextUtils;
-
 import com.miekir.eden.base.ApiService;
 import com.miekir.eden.bean.SystemBean;
+import com.miekir.eden.constant.EdenError;
 import com.miekir.eden.net.RetrofitHelper;
 import com.miekir.mvp.presenter.BasePresenter;
 import com.miekir.network.core.base.BaseObserver;
@@ -36,14 +35,14 @@ public class SystemPresenter extends BasePresenter<ISystemView> {
                     @Override
                     public void onSuccess(SystemBean result) {
                         if (getView() != null) {
-                            getView().onGetConfigResult(true, "", result);
+                            getView().onGetConfigResult(true, EdenError.SUCCESS, result);
                         }
                     }
 
                     @Override
                     public void onFailure(Throwable e, String errMsg) {
                         if (getView() != null) {
-                            getView().onGetConfigResult(false, TextUtils.isEmpty(errMsg) ? "获取失败:"+e.getMessage() : errMsg, null);
+                            getView().onGetConfigResult(false, EdenError.COMMON, null);
                         }
                     }
                 });
@@ -63,14 +62,14 @@ public class SystemPresenter extends BasePresenter<ISystemView> {
                     @Override
                     public void onSuccess(String result) {
                         if (getView() != null) {
-                            getView().onSetConfigResult(configType, true, "", newZFB);
+                            getView().onSetConfigResult(configType, true, EdenError.SUCCESS, newZFB);
                         }
                     }
 
                     @Override
                     public void onFailure(Throwable e, String errMsg) {
                         if (getView() != null) {
-                            getView().onSetConfigResult(configType, false, TextUtils.isEmpty(errMsg) ? "设置失败:"+e.getMessage() : errMsg, newZFB);
+                            getView().onSetConfigResult(configType, false, EdenError.COMMON, newZFB);
                         }
                     }
                 });
@@ -89,14 +88,14 @@ public class SystemPresenter extends BasePresenter<ISystemView> {
                     @Override
                     public void onSuccess(String result) {
                         if (getView() != null) {
-                            getView().onSetVipResult(true, result);
+                            getView().onSetVipResult(true, EdenError.SUCCESS);
                         }
                     }
 
                     @Override
                     public void onFailure(Throwable e, String errMsg) {
                         if (getView() != null) {
-                            getView().onSetVipResult(false, TextUtils.isEmpty(errMsg) ? "设置失败:"+e.getMessage() : errMsg);
+                            getView().onSetVipResult(false, EdenError.COMMON);
                         }
                     }
                 });

+ 0 - 15
app/src/main/java/com/miekir/eden/ui/home/tool/json/IJsonView.java

@@ -1,15 +0,0 @@
-package com.miekir.eden.ui.home.tool.json;
-
-import com.miekir.mvp.view.IView;
-
-/**
- *
- *
- * @author Miekir
- * @date 2020/7/8 19:44
- * Description: Template的View
- */
-public interface IJsonView extends IView {
-    void onSaveJsonResult(boolean success, String message, JsonBean jsonBean);
-    void onGetJsonResult(boolean success, String message, JsonBean jsonBean);
-}

+ 0 - 106
app/src/main/java/com/miekir/eden/ui/home/tool/json/JsonActivity.java

@@ -1,106 +0,0 @@
-package com.miekir.eden.ui.home.tool.json;
-
-
-import android.os.Bundle;
-import android.view.View;
-import android.widget.EditText;
-
-import androidx.annotation.Nullable;
-
-import com.miekir.common.utils.ToastTool;
-import com.miekir.common.view.AlignTextView;
-import com.miekir.eden.BuildConfig;
-import com.miekir.eden.R;
-import com.miekir.eden.base.BaseBeiActivity;
-import com.miekir.eden.bean.BeiUser;
-import com.miekir.eden.manager.UserInfoManager;
-import com.miekir.eden.tool.StringTool;
-import com.miekir.eden.tool.SystemTool;
-import com.miekir.mvp.presenter.InjectPresenter;
-
-public class JsonActivity extends BaseBeiActivity implements View.OnClickListener, IJsonView {
-    private static final String FORMAT_URL = "%sshibei/api/getJson?s=%s";
-
-    @InjectPresenter
-    JsonPresenter jsonPresenter;
-
-    private BeiUser mUser;
-
-    private AlignTextView tv_json_url;
-    private EditText et_json;
-
-    private JsonBean mJsonBean;
-
-    @Override
-    public int getLayoutID() {
-        return R.layout.activity_json;
-    }
-
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        showLoading();
-        // 需要在super.onCreate后执行,否则会空指针
-        jsonPresenter.getJsonBean();
-    }
-
-    @Override
-    public void initViews(Bundle savedInstanceState) {
-        mUser = UserInfoManager.getInstance().getBeiUser();
-        setTitle("GetJson微服务");
-
-        tv_json_url = findViewById(R.id.tv_json_url);
-        tv_json_url.setText(String.format(FORMAT_URL, BuildConfig.BASE_URL, StringTool.getMixToken(mUser.token)));
-        et_json = findViewById(R.id.et_json);
-        findViewById(R.id.fl_json_url).setOnClickListener(this);
-        findViewById(R.id.btn_save_json).setOnClickListener(this);
-    }
-
-
-    @Override
-    public void onClick(View v) {
-        switch (v.getId()) {
-            case R.id.fl_json_url:
-                // 复制GET链接URL
-                if (SystemTool.copyText(getApplicationContext(), tv_json_url.getText().toString())) {
-                    ToastTool.showShort("复制成功");
-                } else {
-                    ToastTool.showShort("复制失败");
-                }
-                break;
-
-            case R.id.btn_save_json:
-                // 保存JSON
-                showLoading();
-                if (mJsonBean == null) {
-                    JsonBean jsonBean = new JsonBean();
-                    jsonBean.json = et_json.getText().toString();
-                    jsonBean.email = mUser.email;
-                    jsonPresenter.saveJsonBean(jsonBean);
-                } else {
-                    mJsonBean.json = et_json.getText().toString();
-                    jsonPresenter.saveJsonBean(mJsonBean);
-                }
-                break;
-
-            default:
-                break;
-        }
-    }
-
-    @Override
-    public void onSaveJsonResult(boolean success, String message, JsonBean jsonBean) {
-        dismissLoading();
-        ToastTool.showShort(message);
-        mJsonBean = jsonBean;
-    }
-
-    @Override
-    public void onGetJsonResult(boolean success, String message, JsonBean jsonBean) {
-        dismissLoading();
-        if (jsonBean != null) {
-            mJsonBean = jsonBean;
-            et_json.setText(jsonBean.json);
-        }
-    }
-}

+ 0 - 14
app/src/main/java/com/miekir/eden/ui/home/tool/json/JsonBean.java

@@ -1,14 +0,0 @@
-package com.miekir.eden.ui.home.tool.json;
-
-/**
- * Copyright (C), 2019-2020, Miekir
- *
- * @author Miekir
- * @date 2020/8/13 20:20
- * Description: json
- */
-public class JsonBean {
-    public long id;
-    public String email;
-    public String json;
-}

+ 0 - 67
app/src/main/java/com/miekir/eden/ui/home/tool/json/JsonPresenter.java

@@ -1,67 +0,0 @@
-package com.miekir.eden.ui.home.tool.json;
-
-import android.text.TextUtils;
-
-import com.miekir.eden.base.ApiService;
-import com.miekir.eden.net.RetrofitHelper;
-import com.miekir.mvp.presenter.BasePresenter;
-import com.miekir.network.core.base.BaseObserver;
-
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.schedulers.Schedulers;
-
-/**
- * Copyright (C), 2019-2020, Miekir
- *
- * @author Miekir
- * @date 2020/8/15 12:41
- * Description:
- */
-public class JsonPresenter extends BasePresenter<IJsonView> {
-
-    public void getJsonBean() {
-        RetrofitHelper.getInstance()
-                .getRequestApi(ApiService.class)
-                .getJsonBean()
-                .subscribeOn(Schedulers.io())
-                .observeOn(AndroidSchedulers.mainThread())
-                .subscribe(new BaseObserver<JsonBean>() {
-                    @Override
-                    public void onSuccess(JsonBean result) {
-                        if (getView() != null) {
-                            getView().onGetJsonResult(true, "", result);
-                        }
-                    }
-
-                    @Override
-                    public void onFailure(Throwable e, String errMsg) {
-                        if (getView() != null) {
-                            getView().onGetJsonResult(false, TextUtils.isEmpty(errMsg) ? "获取失败:"+e.getMessage() : errMsg, null);
-                        }
-                    }
-                });
-    }
-
-    public void saveJsonBean(JsonBean jsonBean) {
-        RetrofitHelper.getInstance()
-                .getRequestApi(ApiService.class)
-                .saveJson(jsonBean)
-                .subscribeOn(Schedulers.io())
-                .observeOn(AndroidSchedulers.mainThread())
-                .subscribe(new BaseObserver<JsonBean>() {
-                    @Override
-                    public void onSuccess(JsonBean result) {
-                        if (getView() != null) {
-                            getView().onSaveJsonResult(true, "保存成功", result);
-                        }
-                    }
-
-                    @Override
-                    public void onFailure(Throwable e, String errMsg) {
-                        if (getView() != null) {
-                            getView().onSaveJsonResult(false, TextUtils.isEmpty(errMsg) ? "获取失败:"+e.getMessage() : errMsg, null);
-                        }
-                    }
-                });
-    }
-}

+ 0 - 69
app/src/main/java/com/miekir/eden/ui/home/tool/weather/WeatherActivity.java

@@ -1,69 +0,0 @@
-package com.miekir.eden.ui.home.tool.weather;
-
-
-import android.os.Bundle;
-import android.view.View;
-import android.widget.EditText;
-
-import com.miekir.common.utils.ToastTool;
-import com.miekir.common.view.AlignTextView;
-import com.miekir.eden.BuildConfig;
-import com.miekir.eden.R;
-import com.miekir.eden.base.BaseBeiActivity;
-import com.miekir.eden.bean.BeiUser;
-import com.miekir.eden.manager.UserInfoManager;
-import com.miekir.eden.tool.StringTool;
-import com.miekir.eden.tool.SystemTool;
-
-/**
- * 天气界面
- */
-public class WeatherActivity extends BaseBeiActivity implements View.OnClickListener {
-    private static final String FORMAT_URL = "%sshibei/api/getWeather?s=%s&city=深圳";
-
-    private BeiUser mUser;
-
-    private AlignTextView tv_weather_url;
-    @Override
-    public int getLayoutID() {
-        return R.layout.activity_weather;
-    }
-
-    @Override
-    public void initViews(Bundle savedInstanceState) {
-        mUser = UserInfoManager.getInstance().getBeiUser();
-        setTitle("日期天气API");
-
-        tv_weather_url = findViewById(R.id.tv_weather_url);
-        tv_weather_url.setText(String.format(FORMAT_URL, BuildConfig.BASE_URL, StringTool.getMixToken(mUser.token)));
-
-        findViewById(R.id.fl_weather_url).setOnClickListener(this);
-
-        EditText et_weather = findViewById(R.id.et_weather);
-        et_weather.setText("{\n" +
-                "  \"code\": 0,\n" +
-                "  \"msg\": \"\",\n" +
-                "  \"temperatureRange\": \"28.5 ~ 31 ℃\",\n" +
-                "  \"temperatureNow\": \"29.2\",\n" +
-                "  \"wind\": \"无持续风,微风\",\n" +
-                "  \"air\": \"优\",\n" +
-                "  \"desc\": \"阵雨转多云\"\n" +
-                "}");
-    }
-
-    @Override
-    public void onClick(View v) {
-        switch (v.getId()) {
-            case R.id.fl_weather_url:
-                // 复制GET链接URL
-                if (SystemTool.copyText(getApplicationContext(), tv_weather_url.getText().toString())) {
-                    ToastTool.showShort("复制成功");
-                } else {
-                    ToastTool.showShort("复制失败");
-                }
-                break;
-            default:
-                break;
-        }
-    }
-}

+ 0 - 18
app/src/main/java/com/miekir/eden/ui/home/tool/weather/WeatherBean.java

@@ -1,18 +0,0 @@
-package com.miekir.eden.ui.home.tool.weather;
-
-/**
- * Copyright (C), 2019-2020, Miekir
- *
- * @author Miekir
- * @date 2020/8/14 20:44
- * Description: 天气实体
- */
-public class WeatherBean {
-    public int code;
-    public String msg;
-    public String temperatureRange;
-    public String temperatureNow;
-    public String wind;
-    public String air;
-    public String desc;
-}

+ 0 - 71
app/src/main/java/com/miekir/eden/ui/home/tool/yiji/YijiActivity.java

@@ -1,71 +0,0 @@
-package com.miekir.eden.ui.home.tool.yiji;
-
-
-import android.os.Bundle;
-import android.view.View;
-import android.widget.EditText;
-
-import com.miekir.common.utils.ToastTool;
-import com.miekir.common.view.AlignTextView;
-import com.miekir.eden.BuildConfig;
-import com.miekir.eden.R;
-import com.miekir.eden.base.BaseBeiActivity;
-import com.miekir.eden.bean.BeiUser;
-import com.miekir.eden.manager.UserInfoManager;
-import com.miekir.eden.tool.StringTool;
-import com.miekir.eden.tool.SystemTool;
-
-/**
- * 黄历界面
- */
-public class YijiActivity extends BaseBeiActivity implements View.OnClickListener {
-    private static final String FORMAT_URL = "%sshibei/api/getYiji?s=%s";
-
-    private BeiUser mUser;
-
-    private AlignTextView tv_yiji_url;
-
-    @Override
-    public int getLayoutID() {
-        return R.layout.activity_yiji;
-    }
-
-    @Override
-    public void initViews(Bundle savedInstanceState) {
-        mUser = UserInfoManager.getInstance().getBeiUser();
-        setTitle("宜忌API");
-
-        tv_yiji_url = findViewById(R.id.tv_yiji_url);
-        tv_yiji_url.setText(String.format(FORMAT_URL, BuildConfig.BASE_URL, StringTool.getMixToken(mUser.token)));
-
-        findViewById(R.id.fl_yiji_url).setOnClickListener(this);
-
-        EditText et_yiji = findViewById(R.id.et_yiji);
-        et_yiji.setText("{\n" +
-                "  \"code\": 0,\n" +
-                "  \"msg\": \"\",\n" +
-                "  \"newDate\": \"2020年8月14日 星期五\",\n" +
-                "  \"oldDate\": \"农历二零二零年 六月(小)廿五\",\n" +
-                "  \"hsDate\": \"庚子鼠年 甲申月 己丑日\",\n" +
-                "  \"yi\": \"结婚、领证、动土、安床\",\n" +
-                "  \"ji\": \"搬家、装修、开业\"\n" +
-                "}");
-    }
-
-    @Override
-    public void onClick(View v) {
-        switch (v.getId()) {
-            case R.id.fl_yiji_url:
-                // 复制GET链接URL
-                if (SystemTool.copyText(getApplicationContext(), tv_yiji_url.getText().toString())) {
-                    ToastTool.showShort("复制成功");
-                } else {
-                    ToastTool.showShort("复制失败");
-                }
-                break;
-
-            default:
-                break;
-        }
-    }
-}

+ 0 - 18
app/src/main/java/com/miekir/eden/ui/home/tool/yiji/YijiBean.java

@@ -1,18 +0,0 @@
-package com.miekir.eden.ui.home.tool.yiji;
-
-/**
- * Copyright (C), 2019-2020, Miekir
- *
- * @author Miekir
- * @date 2020/8/14 22:16
- * Description: 宜忌实体
- */
-public class YijiBean {
-    public int code;
-    public String msg;
-    public String newDate;
-    public String oldDate;
-    public String hsDate;
-    public String yi;
-    public String ji;
-}

+ 23 - 20
app/src/main/java/com/miekir/eden/ui/mine/MineActivity.java

@@ -21,10 +21,10 @@ import com.miekir.eden.bean.BeiUser;
 import com.miekir.eden.bean.SystemBean;
 import com.miekir.eden.constant.ConstantString;
 import com.miekir.eden.manager.UserInfoManager;
+import com.miekir.eden.tool.StringTool;
 import com.miekir.eden.tool.TimeTool;
 import com.miekir.eden.ui.home.tool.ISystemView;
 import com.miekir.eden.ui.home.tool.SystemPresenter;
-import com.miekir.eden.ui.mine.coupon.AddPhotoActivity;
 import com.miekir.eden.ui.mine.fav.MyFavActivity;
 import com.miekir.mvp.presenter.InjectPresenter;
 
@@ -55,7 +55,7 @@ public class MineActivity extends BaseBeiActivity implements View.OnClickListene
     @Override
     public void initViews(Bundle savedInstanceState) {
         mUser = UserInfoManager.getInstance().getBeiUser();
-        setTitle(String.format(ConstantString.WELCOME_HELLO, TimeTool.getCurrentTimePeriod()));
+        setTitle(String.format(getString(R.string.mine_hello), TimeTool.getCurrentTimePeriod()));
         ViewTool.setOnClickListener(this, this,
                 new int[]{R.id.tv_my_fav, R.id.btn_exit_login, R.id.tv_add_photo, R.id.btn_set_vip, R.id.btn_set_zfb});
 
@@ -76,12 +76,12 @@ public class MineActivity extends BaseBeiActivity implements View.OnClickListene
         switch_walk.setOnCheckedChangeListener(this);
         mSystemBean = UserInfoManager.getInstance().getSystemBean();
         if (mSystemBean == null) {
-            ToastTool.showShort("请重启应用");
+            ToastTool.showShort(StringTool.getString(R.string.reboot));
             finish();
             return;
         }
         if (TextUtils.isEmpty(mSystemBean.zfb)) {
-            til_zfb.setHint("还没设置收款链接");
+            til_zfb.setHint(StringTool.getString(R.string.mine_not_set_zfb));
         } else {
             et_zfb.setText(mSystemBean.zfb);
         }
@@ -107,7 +107,7 @@ public class MineActivity extends BaseBeiActivity implements View.OnClickListene
                 // 设置会员VIP
                 String email = et_email.getEditableText().toString();
                 if (TextUtils.isEmpty(email)) {
-                    ToastTool.showShort("要升级的账号不能为空");
+                    ToastTool.showShort(StringTool.getString(R.string.mine_account_empty));
                     return;
                 }
 
@@ -118,7 +118,7 @@ public class MineActivity extends BaseBeiActivity implements View.OnClickListene
             case R.id.btn_set_zfb:
                 String zfb = et_zfb.getEditableText().toString();
                 if (TextUtils.isEmpty(zfb)) {
-                    ToastTool.showShort("支付宝账号不能为空");
+                    ToastTool.showShort(StringTool.getString(R.string.mine_zfb_empty));
                     return;
                 }
 
@@ -127,7 +127,6 @@ public class MineActivity extends BaseBeiActivity implements View.OnClickListene
                 break;
 
             case R.id.tv_add_photo:
-                startActivity(new Intent(this, AddPhotoActivity.class));
                 break;
 
             case R.id.btn_exit_login:
@@ -143,9 +142,9 @@ public class MineActivity extends BaseBeiActivity implements View.OnClickListene
      */
     private void sureToExit() {
         AlertDialog alertDialog = new AlertDialog.Builder(this)
-                .setMessage("确定退出当前账号?")
-                .setNegativeButton("取消", (dialog, which) -> dialog.dismiss())
-                .setPositiveButton("确定", (DialogInterface dialog, int which) -> {
+                .setMessage(StringTool.getString(R.string.mine_exit))
+                .setNegativeButton(StringTool.getString(R.string.cancel), (dialog, which) -> dialog.dismiss())
+                .setPositiveButton(StringTool.getString(R.string.confirm), (DialogInterface dialog, int which) -> {
                     dialog.dismiss();
                     UserInfoManager.getInstance().setBeiUser(null);
                     setResult(RESULT_OK);
@@ -156,22 +155,22 @@ public class MineActivity extends BaseBeiActivity implements View.OnClickListene
 
 
     @Override
-    public void onGetConfigResult(boolean success, String message, SystemBean resultBean) {
+    public void onGetConfigResult(boolean success, int code, SystemBean resultBean) {
 
     }
 
 
     @Override
-    public void onSetConfigResult(int configType, boolean success, String message, String newZFB) {
+    public void onSetConfigResult(int configType, boolean success, int code, String newZFB) {
         dismissLoading();
 
         switch (configType) {
             case SystemPresenter.CONFIG_TYPE_DOOR:
                 if (success) {
-                    ToastTool.showShort("设置成功");
+                    ToastTool.showShort(StringTool.getString(R.string.mine_set_success));
                     mSystemBean.isVipLimit = !mSystemBean.isVipLimit;
                 } else {
-                    ToastTool.showShort("设置失败");
+                    ToastTool.showShort(StringTool.getString(R.string.mine_set_fail));
                     switch_api.setOnCheckedChangeListener(null);
                     switch_api.setChecked(!switch_api.isChecked());
                     switch_api.setOnCheckedChangeListener(this);
@@ -180,10 +179,10 @@ public class MineActivity extends BaseBeiActivity implements View.OnClickListene
 
             case SystemPresenter.CONFIG_TYPE_WALK:
                 if (success) {
-                    ToastTool.showShort("设置成功");
+                    ToastTool.showShort(StringTool.getString(R.string.mine_set_success));
                     mSystemBean.isWalking = !mSystemBean.isWalking;
                 } else {
-                    ToastTool.showShort("设置失败");
+                    ToastTool.showShort(StringTool.getString(R.string.mine_set_fail));
                     switch_walk.setOnCheckedChangeListener(null);
                     switch_walk.setChecked(!switch_walk.isChecked());
                     switch_walk.setOnCheckedChangeListener(this);
@@ -193,18 +192,22 @@ public class MineActivity extends BaseBeiActivity implements View.OnClickListene
             default:
                 if (success) {
                     mSystemBean.zfb = newZFB;
-                    ToastTool.showShort("设置成功");
+                    ToastTool.showShort(StringTool.getString(R.string.mine_set_success));
                 } else {
-                    ToastTool.showShort("设置成功");
+                    ToastTool.showShort(StringTool.getString(R.string.mine_set_fail));
                 }
                 break;
         }
     }
 
     @Override
-    public void onSetVipResult(boolean success, String message) {
+    public void onSetVipResult(boolean success, int code) {
         dismissLoading();
-        ToastTool.showShort(message);
+        if (success) {
+            ToastTool.showShort(StringTool.getString(R.string.mine_set_success));
+        } else {
+            ToastTool.showShort(StringTool.getString(R.string.mine_set_fail));
+        }
     }
 
     @Override

+ 0 - 104
app/src/main/java/com/miekir/eden/ui/mine/coupon/AddPhotoActivity.java

@@ -1,104 +0,0 @@
-package com.miekir.eden.ui.mine.coupon;
-
-import android.content.Intent;
-import android.os.Bundle;
-import android.view.View;
-import android.widget.Button;
-import android.widget.CheckBox;
-
-import com.google.android.material.textfield.TextInputEditText;
-import com.miekir.common.utils.ToastTool;
-import com.miekir.common.utils.ViewTool;
-import com.miekir.eden.R;
-import com.miekir.eden.base.BaseBeiActivity;
-import com.miekir.eden.ui.home.coupon.CouponBean;
-import com.miekir.mvp.presenter.InjectPresenter;
-
-/**
- * @author Miekir
- * @date 2020/6/18 16:48
- * Description: 添加优惠券界面
- */
-public class AddPhotoActivity extends BaseBeiActivity implements View.OnClickListener, IAddPhotoView {
-    public static final String KEY_MODIFY_COUPON = "key_modify_coupon";
-
-    private TextInputEditText et_coupon_title;
-    private TextInputEditText et_cover_url;
-    private TextInputEditText et_jump_url;
-
-    private CheckBox cb_enable;
-
-    private CouponBean couponBean;
-
-    @InjectPresenter
-    AddPhotoPresenter presenter;
-
-    @Override
-    public int getLayoutID() {
-        return R.layout.activity_coupon_add;
-    }
-
-    @Override
-    public void initViews(Bundle savedInstanceState) {
-
-        et_coupon_title = findViewById(R.id.et_coupon_title);
-        et_cover_url = findViewById(R.id.et_cover_url);
-        et_jump_url = findViewById(R.id.et_jump_url);
-        cb_enable = findViewById(R.id.cb_enable);
-        ViewTool.setOnClickListener(this, this, new int[]{R.id.btn_add_goods});
-        Button btn_add_goods = findViewById(R.id.btn_add_goods);
-
-        couponBean = (CouponBean) getIntent().getSerializableExtra(KEY_MODIFY_COUPON);
-        if (couponBean != null) {
-            initCoupon();
-            setTitle("更新优惠券");
-            btn_add_goods.setText("立即更新");
-        } else {
-            setTitle("上架新的优惠券");
-        }
-    }
-
-    private void initCoupon() {
-        et_coupon_title.setText(couponBean.couponName);
-        et_cover_url.setText(couponBean.coverUrl);
-        et_jump_url.setText(couponBean.jumpUrl);
-        cb_enable.setChecked(couponBean.actionEnable);
-    }
-
-    @Override
-    public void onClick(View v) {
-        switch (v.getId()) {
-            case R.id.btn_add_goods:
-                String title = et_coupon_title.getEditableText().toString();
-                String coverUrl = et_cover_url.getEditableText().toString();
-                String jumpUrl = et_jump_url.getEditableText().toString();
-                boolean isEnable = cb_enable.isChecked();
-
-                if (couponBean == null) {
-                    couponBean = new CouponBean();
-                }
-                couponBean.couponName = title;
-                couponBean.coverUrl = coverUrl;
-                couponBean.jumpUrl = jumpUrl;
-                couponBean.actionEnable = isEnable;
-
-                showLoading();
-                presenter.addCoupon(couponBean);
-                break;
-            default:
-                break;
-        }
-    }
-
-    @Override
-    public void onAddCouponResult(boolean success, String message) {
-        dismissLoading();
-        ToastTool.showShort(message);
-        if (success) {
-            Intent intent = getIntent();
-            intent.putExtra(KEY_MODIFY_COUPON, couponBean);
-            setResult(RESULT_OK, intent);
-            finish();
-        }
-    }
-}

+ 0 - 43
app/src/main/java/com/miekir/eden/ui/mine/coupon/AddPhotoPresenter.java

@@ -1,43 +0,0 @@
-package com.miekir.eden.ui.mine.coupon;
-
-import android.text.TextUtils;
-
-import com.miekir.eden.base.ApiService;
-import com.miekir.eden.net.RetrofitHelper;
-import com.miekir.eden.ui.home.coupon.CouponBean;
-import com.miekir.mvp.presenter.BasePresenter;
-import com.miekir.network.core.base.BaseObserver;
-
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.schedulers.Schedulers;
-
-/**
- * @author Miekir
- * @date 2020/7/9 20:54
- * Description: 商品的相关数据接口处理
- */
-public class AddPhotoPresenter extends BasePresenter<IAddPhotoView> {
-
-    public void addCoupon(CouponBean couponBean) {
-        RetrofitHelper.getInstance()
-                .getRequestApi(ApiService.class)
-                .addCoupon(couponBean)
-                .subscribeOn(Schedulers.io())
-                .observeOn(AndroidSchedulers.mainThread())
-                .subscribe(new BaseObserver<String>() {
-                    @Override
-                    public void onSuccess(String result) {
-                        if (getView() != null) {
-                            getView().onAddCouponResult(true, result);
-                        }
-                    }
-
-                    @Override
-                    public void onFailure(Throwable e, String errMsg) {
-                        if (getView() != null) {
-                            getView().onAddCouponResult(false, TextUtils.isEmpty(errMsg) ? "操作失败"+e.getMessage() : errMsg);
-                        }
-                    }
-                });
-    }
-}

+ 0 - 18
app/src/main/java/com/miekir/eden/ui/mine/coupon/IAddPhotoView.java

@@ -1,18 +0,0 @@
-package com.miekir.eden.ui.mine.coupon;
-
-import com.miekir.mvp.view.IView;
-
-/**
- * Copyright (C), 2019-2020, Miekir
- *
- * @author Miekir
- * @date 2020/8/2 10:29
- */
-public interface IAddPhotoView extends IView {
-    /**
-     * 增加优惠券的结果
-     * @param success
-     * @param message
-     */
-    void onAddCouponResult(boolean success, String message);
-}

+ 3 - 4
app/src/main/java/com/miekir/eden/ui/mine/fav/FavPresenter.java

@@ -1,8 +1,7 @@
 package com.miekir.eden.ui.mine.fav;
 
-import android.text.TextUtils;
-
 import com.miekir.eden.base.ApiService;
+import com.miekir.eden.constant.EdenError;
 import com.miekir.eden.net.RetrofitHelper;
 import com.miekir.mvp.presenter.BasePresenter;
 import com.miekir.network.core.base.BaseObserver;
@@ -32,14 +31,14 @@ public class FavPresenter extends BasePresenter<IFavView> {
                     @Override
                     public void onSuccess(String result) {
                         if (getView() != null) {
-                            getView().onFavResult(true, result);
+                            getView().onFavResult(true, EdenError.SUCCESS);
                         }
                     }
 
                     @Override
                     public void onFailure(Throwable e, String errMsg) {
                         if (getView() != null) {
-                            getView().onFavResult(false, TextUtils.isEmpty(errMsg) ? e.getMessage() : errMsg);
+                            getView().onFavResult(false, EdenError.COMMON);
                         }
                     }
                 });

+ 1 - 1
app/src/main/java/com/miekir/eden/ui/mine/fav/IFavView.java

@@ -9,5 +9,5 @@ import com.miekir.mvp.view.IView;
  * @date 2020/7/8 19:44
  */
 public interface IFavView extends IView {
-    void onFavResult(boolean success, String result);
+    void onFavResult(boolean success, int code);
 }

+ 1 - 1
app/src/main/java/com/miekir/eden/ui/mine/fav/IMyFavView.java

@@ -13,5 +13,5 @@ import java.util.List;
  * Description: 商品的View回调
  */
 public interface IMyFavView extends IView {
-    void onGoodsDataCome(boolean success, String message, List<GoodsBean> goodsList);
+    void onGoodsDataCome(boolean success, int code, List<GoodsBean> goodsList);
 }

+ 11 - 9
app/src/main/java/com/miekir/eden/ui/mine/fav/MyFavActivity.java

@@ -10,6 +10,7 @@ import com.bumptech.glide.Glide;
 import com.miekir.common.utils.ToastTool;
 import com.miekir.eden.R;
 import com.miekir.eden.base.BaseBeiActivity;
+import com.miekir.eden.tool.StringTool;
 import com.miekir.eden.ui.home.goods.GoodsAdapter;
 import com.miekir.eden.ui.home.goods.GoodsBean;
 import com.miekir.eden.ui.home.goods.GoodsPresenter;
@@ -114,16 +115,15 @@ public class MyFavActivity extends BaseBeiActivity implements IMyFavView, IGoods
      * 获取商品结果
      *
      * @param success
-     * @param message
      * @param goodsList
      */
     @Override
-    public void onGoodsDataCome(boolean success, String message, List<GoodsBean> goodsList) {
+    public void onGoodsDataCome(boolean success, int code, List<GoodsBean> goodsList) {
         dismissLoading();
         mIsLoading = false;
 
         if (!success) {
-            ToastTool.showShort(message);
+            ToastTool.showShort(StringTool.getString(R.string.data_get_fail));
             return;
         }
 
@@ -143,29 +143,31 @@ public class MyFavActivity extends BaseBeiActivity implements IMyFavView, IGoods
         if (goodsList != null && goodsList.size() > 0) {
             mCurrentPage++;
         } else {
-            ToastTool.showShort("没有更多数据了");
+            ToastTool.showShort(StringTool.getString(R.string.data_no_more));
         }
     }
 
     @Override
-    public void onDeleteGoodsResult(boolean success, String message, int position) {
+    public void onDeleteGoodsResult(boolean success, int code, int position) {
         dismissLoading();
         if (success) {
             mGoodsList.remove(position);
             mAdapter.notifyItemRemoved(position);
-            ToastTool.showShort("删除成功");
+            ToastTool.showShort(StringTool.getString(R.string.delete_success));
         } else {
-            ToastTool.showShort(message);
+            ToastTool.showShort(StringTool.getString(R.string.delete_fail));
         }
     }
 
     @Override
-    public void onRevertGoodsEnable(boolean success, String message, int position) {
+    public void onRevertGoodsEnable(boolean success, int code, int position) {
         dismissLoading();
         if (success) {
             mGoodsList.get(position).enable = !mGoodsList.get(position).enable;
             mAdapter.notifyItemChanged(position);
+            ToastTool.showShort(StringTool.getString(R.string.operate_success));
+        } else {
+            ToastTool.showShort(StringTool.getString(R.string.operate_fail));
         }
-        ToastTool.showShort(message);
     }
 }

+ 3 - 4
app/src/main/java/com/miekir/eden/ui/mine/fav/MyFavPresenter.java

@@ -1,8 +1,7 @@
 package com.miekir.eden.ui.mine.fav;
 
-import android.text.TextUtils;
-
 import com.miekir.eden.base.ApiService;
+import com.miekir.eden.constant.EdenError;
 import com.miekir.eden.net.RetrofitHelper;
 import com.miekir.eden.ui.home.goods.GoodsBean;
 import com.miekir.mvp.presenter.BasePresenter;
@@ -35,14 +34,14 @@ public class MyFavPresenter extends BasePresenter<IMyFavView> {
                     @Override
                     public void onSuccess(List<GoodsBean> result) {
                         if (getView() != null) {
-                            getView().onGoodsDataCome(true, null, result);
+                            getView().onGoodsDataCome(true, EdenError.SUCCESS, result);
                         }
                     }
 
                     @Override
                     public void onFailure(Throwable e, String errMsg) {
                         if (getView() != null) {
-                            getView().onGoodsDataCome(false, TextUtils.isEmpty(errMsg) ? e.getMessage() : errMsg, null);
+                            getView().onGoodsDataCome(false, EdenError.COMMON, null);
                         }
                     }
                 });

+ 0 - 130
app/src/main/java/com/miekir/eden/ui/mine/forget/ForgetActivity.java

@@ -1,130 +0,0 @@
-package com.miekir.eden.ui.mine.forget;
-
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.view.View;
-
-import com.google.android.material.textfield.TextInputEditText;
-import com.miekir.common.utils.ToastTool;
-import com.miekir.common.utils.ViewTool;
-import com.miekir.eden.R;
-import com.miekir.eden.base.BaseBeiActivity;
-import com.miekir.eden.bean.BeiUser;
-import com.miekir.eden.manager.UserInfoManager;
-import com.miekir.eden.tool.StringTool;
-import com.miekir.eden.ui.mine.register.CodePresenter;
-import com.miekir.eden.ui.mine.register.ICodeView;
-import com.miekir.mvp.presenter.InjectPresenter;
-
-/**
- * @author Miekir
- * @date 2020/6/18 16:48
- * Description: 登录界面
- */
-public class ForgetActivity extends BaseBeiActivity implements View.OnClickListener, ICodeView, IForgetView {
-    private TextInputEditText et_email;
-    private TextInputEditText et_code;
-    private TextInputEditText et_new_password;
-
-    private String email;
-    private String code;
-    private String password;
-
-    @InjectPresenter
-    private CodePresenter mCodePresenter;
-
-    @InjectPresenter
-    private ForgetPresenter mForgetPresenter;
-
-    @Override
-    public int getLayoutID() {
-        return R.layout.activity_forget;
-    }
-
-    @Override
-    public void initViews(Bundle savedInstanceState) {
-        setTitle("重置密码");
-
-        et_email = findViewById(R.id.et_email);
-        et_code = findViewById(R.id.et_code);
-        et_new_password = findViewById(R.id.et_new_password);
-        ViewTool.setOnClickListener(this, this,
-                new int[]{R.id.btn_get_code, R.id.btn_reset_password});
-    }
-
-
-    @Override
-    public void onClick(View v) {
-        switch (v.getId()) {
-            case R.id.btn_get_code:
-                // 获取验证码
-                email = et_email.getEditableText().toString();
-                if (TextUtils.isEmpty(email)) {
-                    ToastTool.showShort("邮箱不能为空");
-                    return;
-                }
-
-                showLoading();
-                mCodePresenter.getCode(email);
-                break;
-            case R.id.btn_reset_password:
-                email = et_email.getEditableText().toString();
-                if (TextUtils.isEmpty(email)) {
-                    ToastTool.showShort("邮箱不能为空");
-                    return;
-                }
-
-                if (!email.contains("@")) {
-                    ToastTool.showShort("请输入合法的邮箱");
-                    return;
-                }
-
-                // 重设密码
-                code = et_code.getEditableText().toString();
-                if (TextUtils.isEmpty(code)) {
-                    ToastTool.showShort("验证码不能为空");
-                    return;
-                }
-
-                password = et_new_password.getEditableText().toString();
-                if (TextUtils.isEmpty(password)) {
-                    ToastTool.showShort("新密码不能为空");
-                    return;
-                }
-
-                String encodePassword = StringTool.getEncodeString(password);
-                if (TextUtils.isEmpty(encodePassword)) {
-                    ToastTool.showShort("该手机不支持加密算法");
-                    return;
-                }
-                showLoading();
-                mForgetPresenter.submitReset(email, code, encodePassword);
-                break;
-            default:
-                break;
-        }
-    }
-
-    @Override
-    public void onGetCode(boolean isSuccess, String message) {
-        dismissLoading();
-        if (isSuccess) {
-            ToastTool.showShort("验证码发送成功");
-        } else {
-            ToastTool.showShort(message);
-        }
-    }
-
-    @Override
-    public void onForgetResult(BeiUser user, String message) {
-        dismissLoading();
-        if (user != null) {
-            UserInfoManager.getInstance().setBeiUser(user);
-            ToastTool.showShort("重设密码成功");
-            setResult(RESULT_OK);
-            finish();
-        } else {
-            ToastTool.showShort(message);
-        }
-    }
-}

+ 0 - 50
app/src/main/java/com/miekir/eden/ui/mine/forget/ForgetPresenter.java

@@ -1,50 +0,0 @@
-package com.miekir.eden.ui.mine.forget;
-
-import android.text.TextUtils;
-
-import com.miekir.eden.base.ApiService;
-import com.miekir.eden.bean.BeiUser;
-import com.miekir.eden.net.RetrofitHelper;
-import com.miekir.mvp.presenter.BasePresenter;
-import com.miekir.network.core.base.BaseObserver;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.schedulers.Schedulers;
-
-/**
- * @author Miekir
- * @date 2020/7/9 20:54
- * Description: 商品的相关数据接口处理
- */
-public class ForgetPresenter extends BasePresenter<IForgetView> {
-
-    public void submitReset(String email, String code, String password) {
-        Map<String, Object> map = new HashMap<>();
-        map.put("email", email);
-        map.put("code", code);
-        map.put("password", password);
-        RetrofitHelper.getInstance()
-                .getRequestApi(ApiService.class)
-                .resetPassword(map)
-                .subscribeOn(Schedulers.io())
-                .observeOn(AndroidSchedulers.mainThread())
-                .subscribe(new BaseObserver<BeiUser>() {
-                    @Override
-                    public void onSuccess(BeiUser result) {
-                        if (getView() != null) {
-                            getView().onForgetResult(result, null);
-                        }
-                    }
-
-                    @Override
-                    public void onFailure(Throwable e, String errMsg) {
-                        if (getView() != null) {
-                            getView().onForgetResult(null, TextUtils.isEmpty(errMsg) ? "密码重设失败" : errMsg);
-                        }
-                    }
-                });
-    }
-}

+ 0 - 16
app/src/main/java/com/miekir/eden/ui/mine/forget/IForgetView.java

@@ -1,16 +0,0 @@
-package com.miekir.eden.ui.mine.forget;
-
-import com.miekir.eden.bean.BeiUser;
-import com.miekir.mvp.view.IView;
-
-/**
- * Copyright (C), 2019-2020, Miekir
- *
- * @author Miekir
- * @date 2020/8/2 10:29
- * Description: 忘记密码的回调
- */
-public interface IForgetView extends IView {
-
-    void onForgetResult(BeiUser user, String message);
-}

+ 1 - 1
app/src/main/java/com/miekir/eden/ui/mine/login/ILoginView.java

@@ -12,5 +12,5 @@ import com.miekir.mvp.view.IView;
  */
 public interface ILoginView extends IView {
 
-    void onLoginResult(BeiUser user, String message);
+    void onLoginResult(BeiUser user, int code);
 }

+ 13 - 13
app/src/main/java/com/miekir/eden/ui/mine/login/LoginActivity.java

@@ -45,7 +45,7 @@ public class LoginActivity extends BaseBeiActivity implements View.OnClickListen
 
     @Override
     public void initViews(Bundle savedInstanceState) {
-        setTitle("伊甸园登录", false);
+        setTitle(StringTool.getString(R.string.title_login), false);
         til_email = findViewById(R.id.til_email);
         til_password = findViewById(R.id.til_password);
         et_email = findViewById(R.id.et_email);
@@ -84,17 +84,17 @@ public class LoginActivity extends BaseBeiActivity implements View.OnClickListen
                 if (til_email.getVisibility() == View.VISIBLE) {
                     email = et_email.getEditableText().toString();
                     if (TextUtils.isEmpty(email)) {
-                        ToastTool.showShort("账号不能为空");
+                        ToastTool.showShort(StringTool.getString(R.string.login_account_empty));
                         return;
                     }
                     if (!TextUtils.equals(email, ConstantString.NAME_ADMIN)) {
-                        ToastTool.showShort("暂不开放手动输入账号登录");
+                        ToastTool.showShort(StringTool.getString(R.string.login_not_open));
                         return;
                     }
 
                     password = et_password.getEditableText().toString();
                     if (TextUtils.isEmpty(password)) {
-                        ToastTool.showShort("密码不能为空");
+                        ToastTool.showShort(StringTool.getString(R.string.login_password_empty));
                         return;
                     }
                     password = StringTool.getEncodeString(password);
@@ -103,7 +103,7 @@ public class LoginActivity extends BaseBeiActivity implements View.OnClickListen
                     email = StringTool.getEncodeString(email);
 
                     if (TextUtils.isEmpty(email)) {
-                        ToastTool.showShort("暂不支持本手机");
+                        ToastTool.showShort(StringTool.getString(R.string.login_phone_not_support));
                         return;
                     }
 
@@ -111,7 +111,7 @@ public class LoginActivity extends BaseBeiActivity implements View.OnClickListen
                 }
 
                 if (TextUtils.isEmpty(email) || TextUtils.isEmpty(password)) {
-                    ToastTool.showShort("该手机不支持加密算法");
+                    ToastTool.showShort(StringTool.getString(R.string.login_encrypt_not_support));
                     return;
                 }
 
@@ -124,40 +124,40 @@ public class LoginActivity extends BaseBeiActivity implements View.OnClickListen
     }
 
     @Override
-    public void onLoginResult(BeiUser user, String message) {
+    public void onLoginResult(BeiUser user, int code) {
         if (user != null) {
             UserInfoManager.getInstance().setBeiUser(user);
             systemPresenter.getSystemConfig();
         } else {
             dismissLoading();
-            ToastTool.showShort(message);
+            ToastTool.showShort(StringTool.getString(R.string.login_fail));
         }
     }
 
     @Override
-    public void onGetConfigResult(boolean success, String message, SystemBean resultBean) {
+    public void onGetConfigResult(boolean success, int code, SystemBean resultBean) {
         dismissLoading();
         if (success) {
             if (resultBean != null) {
                 UserInfoManager.getInstance().setSystemBean(resultBean);
             }
 
-            ToastTool.showShort("登录成功");
+            ToastTool.showShort(StringTool.getString(R.string.login_success));
             startActivity(new Intent(this, TabActivity.class));
             finish();
         } else {
-            ToastTool.showShort("登录失败");
+            ToastTool.showShort(StringTool.getString(R.string.login_fail));
         }
 
     }
 
     @Override
-    public void onSetConfigResult(int configType, boolean success, String message, String newZFB) {
+    public void onSetConfigResult(int configType, boolean success, int code, String newZFB) {
 
     }
 
     @Override
-    public void onSetVipResult(boolean success, String message) {
+    public void onSetVipResult(boolean success, int code) {
 
     }
 }

+ 3 - 4
app/src/main/java/com/miekir/eden/ui/mine/login/LoginPresenter.java

@@ -1,9 +1,8 @@
 package com.miekir.eden.ui.mine.login;
 
-import android.text.TextUtils;
-
 import com.miekir.eden.base.ApiService;
 import com.miekir.eden.bean.BeiUser;
+import com.miekir.eden.constant.EdenError;
 import com.miekir.eden.net.RetrofitHelper;
 import com.miekir.mvp.presenter.BasePresenter;
 import com.miekir.network.core.base.BaseObserver;
@@ -28,14 +27,14 @@ public class LoginPresenter extends BasePresenter<ILoginView> {
                     @Override
                     public void onSuccess(BeiUser result) {
                         if (getView() != null) {
-                            getView().onLoginResult(result, null);
+                            getView().onLoginResult(result, EdenError.SUCCESS);
                         }
                     }
 
                     @Override
                     public void onFailure(Throwable e, String errMsg) {
                         if (getView() != null) {
-                            getView().onLoginResult(null, TextUtils.isEmpty(errMsg) ? "登录失败" : errMsg);
+                            getView().onLoginResult(null, EdenError.COMMON);
                         }
                     }
                 });

+ 0 - 40
app/src/main/java/com/miekir/eden/ui/mine/register/CodePresenter.java

@@ -1,40 +0,0 @@
-package com.miekir.eden.ui.mine.register;
-
-import com.miekir.eden.base.ApiService;
-import com.miekir.eden.net.RetrofitHelper;
-import com.miekir.mvp.presenter.BasePresenter;
-import com.miekir.network.core.base.BaseObserver;
-
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.schedulers.Schedulers;
-
-/**
- * @author Miekir
- * @date 2020/7/9 20:54
- * Description: 商品的相关数据接口处理
- */
-public class CodePresenter extends BasePresenter<ICodeView> {
-
-    public void getCode(String email) {
-        RetrofitHelper.getInstance()
-                .getRequestApi(ApiService.class)
-                .getCode(email)
-                .subscribeOn(Schedulers.io())
-                .observeOn(AndroidSchedulers.mainThread())
-                .subscribe(new BaseObserver<Boolean>() {
-                    @Override
-                    public void onSuccess(Boolean result) {
-                        if (getView() != null) {
-                            getView().onGetCode(result, null);
-                        }
-                    }
-
-                    @Override
-                    public void onFailure(Throwable e, String errMsg) {
-                        if (getView() != null) {
-                            getView().onGetCode(false, errMsg);
-                        }
-                    }
-                });
-    }
-}

+ 0 - 18
app/src/main/java/com/miekir/eden/ui/mine/register/ICodeView.java

@@ -1,18 +0,0 @@
-package com.miekir.eden.ui.mine.register;
-
-import com.miekir.mvp.view.IView;
-
-/**
- * Copyright (C), 2019-2020, Miekir
- *
- * @author Miekir
- * @date 2020/8/2 10:29
- * Description: 获取验证码的回调
- */
-public interface ICodeView extends IView {
-    /**
-     *
-     * @param isSuccess 是否成功
-     */
-    void onGetCode(boolean isSuccess, String message);
-}

+ 0 - 159
app/src/main/java/com/miekir/eden/ui/mine/register/RegisterActivity.java

@@ -1,159 +0,0 @@
-package com.miekir.eden.ui.mine.register;
-
-import android.content.Intent;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.Message;
-import android.text.TextUtils;
-import android.view.View;
-import android.widget.Button;
-
-import androidx.annotation.NonNull;
-
-import com.google.android.material.textfield.TextInputEditText;
-import com.miekir.common.utils.ToastTool;
-import com.miekir.common.utils.ViewTool;
-import com.miekir.eden.R;
-import com.miekir.eden.base.BaseBeiActivity;
-import com.miekir.eden.ui.mine.register.fill.FillDataActivity;
-import com.miekir.mvp.presenter.InjectPresenter;
-
-import java.lang.ref.WeakReference;
-
-import rx_activity_result2.RxActivityResult;
-
-/**
- * @author Miekir
- * @date 2020/6/18 16:48
- * Description: 登录界面
- */
-public class RegisterActivity extends BaseBeiActivity implements View.OnClickListener, ICodeView {
-    public static final String KEY_EMAIL = "email";
-    public static final String KEY_CODE = "code";
-
-    private TextInputEditText et_email;
-    private TextInputEditText et_code;
-    private Button btn_get_code;
-
-    private String email;
-    private String code;
-
-    @InjectPresenter
-    CodePresenter presenter;
-
-    /**验证码倒计时*/
-    private static final int MSG_TIME = 0;
-    private static final int TIME_GET_PERIOD = 61;
-    private int mRestTime = TIME_GET_PERIOD;
-    private static class TimeHandler extends Handler {
-        private WeakReference<RegisterActivity> weakReference;
-        public TimeHandler(RegisterActivity activity) {
-            weakReference = new WeakReference<>(activity);
-        }
-
-        @Override
-        public void handleMessage(@NonNull Message msg) {
-            super.handleMessage(msg);
-            RegisterActivity activity = weakReference.get();
-            if (activity == null) {
-                return;
-            }
-            activity.mRestTime -= 1;
-            if (activity.mRestTime == 0) {
-                activity.btn_get_code.setText("获取验证码");
-                activity.btn_get_code.setEnabled(true);
-                activity.mRestTime = TIME_GET_PERIOD;
-            } else {
-                activity.btn_get_code.setText("重新获取(" + activity.mRestTime + "S)");
-                activity.mTimeHandler.sendEmptyMessageDelayed(MSG_TIME, 1000);
-            }
-        }
-    }
-    private Handler mTimeHandler = new TimeHandler(this);
-
-    @Override
-    public int getLayoutID() {
-        return R.layout.activity_register;
-    }
-
-    @Override
-    public void initViews(Bundle savedInstanceState) {
-        setTitle("使用电子邮箱注册");
-        ViewTool.setOnClickListener(this, this, new int[]{R.id.btn_get_code, R.id.btn_next});
-        et_email = findViewById(R.id.et_email);
-        et_code = findViewById(R.id.et_code);
-        btn_get_code = findViewById(R.id.btn_get_code);
-    }
-
-    @Override
-    public void onClick(View v) {
-        switch (v.getId()) {
-            case R.id.btn_next:
-                // 完善资料
-                email = et_email.getEditableText().toString();
-                if (TextUtils.isEmpty(email)) {
-                    ToastTool.showShort("邮箱不能为空");
-                    return;
-                }
-
-                if (!email.contains("@")) {
-                    ToastTool.showShort("请输入合法的邮箱");
-                    return;
-                }
-
-                code = et_code.getEditableText().toString();
-                if (TextUtils.isEmpty(code)) {
-                    ToastTool.showShort("验证码不能为空");
-                    return;
-                }
-
-                Intent fillDataIntent = new Intent(this, FillDataActivity.class);
-                fillDataIntent.putExtra(KEY_EMAIL, email);
-                fillDataIntent.putExtra(KEY_CODE, code);
-                RxActivityResult.on(this).startIntent(fillDataIntent)
-                        .filter(result -> result.resultCode() == RESULT_OK)
-                        .doOnNext(result -> {
-                            // 注册成功之后关闭登录界面
-                            setResult(RESULT_OK);
-                            finish();
-                        })
-                        .subscribe();
-                break;
-
-            case R.id.btn_get_code:
-                // 获取验证码
-                email = et_email.getEditableText().toString();
-                if (TextUtils.isEmpty(email)) {
-                    ToastTool.showShort("邮箱不能为空");
-                    return;
-                }
-                showLoading();
-                presenter.getCode(email);
-                break;
-            default:
-                break;
-        }
-    }
-
-    @Override
-    public void onGetCode(boolean isSuccess, String message) {
-        dismissLoading();
-        if (isSuccess) {
-            ToastTool.showShort("验证码发送成功");
-            btn_get_code.setEnabled(false);
-            mTimeHandler.sendEmptyMessage(MSG_TIME);
-        } else {
-            if (TextUtils.isEmpty(message)) {
-                ToastTool.showShort("验证码发送失败");
-            } else {
-                ToastTool.showShort(message);
-            }
-        }
-    }
-
-    @Override
-    protected void onDestroy() {
-        super.onDestroy();
-        mTimeHandler.removeMessages(MSG_TIME);
-    }
-}

+ 0 - 86
app/src/main/java/com/miekir/eden/ui/mine/register/fill/FillDataActivity.java

@@ -1,86 +0,0 @@
-package com.miekir.eden.ui.mine.register.fill;
-
-import android.os.Bundle;
-import android.text.TextUtils;
-
-import com.google.android.material.textfield.TextInputEditText;
-import com.miekir.common.utils.ToastTool;
-import com.miekir.eden.R;
-import com.miekir.eden.base.BaseBeiActivity;
-import com.miekir.eden.bean.BeiUser;
-import com.miekir.eden.manager.UserInfoManager;
-import com.miekir.eden.tool.StringTool;
-import com.miekir.eden.ui.mine.register.RegisterActivity;
-import com.miekir.mvp.presenter.InjectPresenter;
-
-/**
- * @author Miekir
- * @date 2020/6/18 16:48
- * Description: 完善资料界面
- */
-public class FillDataActivity extends BaseBeiActivity implements IRegisterView {
-    private TextInputEditText et_password;
-    private TextInputEditText et_nickname;
-
-    private BeiUser mBeiUser;
-    private String email;
-    private String code;
-
-    @InjectPresenter
-    RegisterPresenter presenter;
-
-    @Override
-    public int getLayoutID() {
-        return R.layout.activity_fill_data;
-    }
-
-    @Override
-    public void initViews(Bundle savedInstanceState) {
-        setTitle("完善提现资料");
-        et_password = findViewById(R.id.et_password);
-        et_nickname = findViewById(R.id.et_nickname);
-        email = getIntent().getStringExtra(RegisterActivity.KEY_EMAIL);
-        code = getIntent().getStringExtra(RegisterActivity.KEY_CODE);
-        findViewById(R.id.btn_finish).setOnClickListener(v -> {
-            submitRegister();
-        });
-    }
-
-    private void submitRegister() {
-        String password = et_password.getEditableText().toString();
-        String nickname = et_nickname.getEditableText().toString();
-        if (TextUtils.isEmpty(password)) {
-            ToastTool.showShort("请输入密码");
-            return;
-        }
-        if (TextUtils.isEmpty(nickname)) {
-            ToastTool.showShort("请输入昵称");
-            return;
-        }
-
-        String encodeString = StringTool.getEncodeString(password);
-        if (TextUtils.isEmpty(encodeString)) {
-            ToastTool.showShort("该手机不支持加密算法");
-            return;
-        }
-        mBeiUser = new BeiUser();
-        mBeiUser.email = email;
-        mBeiUser.password = encodeString;
-        mBeiUser.nickName = nickname;
-        showLoading();
-        presenter.submitRegister(mBeiUser, code);
-    }
-
-    @Override
-    public void onRegisterResult(BeiUser user, String message) {
-        dismissLoading();
-        if (user != null) {
-            // 保存到本地
-            UserInfoManager.getInstance().setBeiUser(user);
-            setResult(RESULT_OK);
-            finish();
-        } else {
-            ToastTool.showShort(message);
-        }
-    }
-}

+ 0 - 16
app/src/main/java/com/miekir/eden/ui/mine/register/fill/IRegisterView.java

@@ -1,16 +0,0 @@
-package com.miekir.eden.ui.mine.register.fill;
-
-import com.miekir.eden.bean.BeiUser;
-import com.miekir.mvp.view.IView;
-
-/**
- * Copyright (C), 2019-2020, Miekir
- *
- * @author Miekir
- * @date 2020/8/2 10:29
- * Description: 注册的回调
- */
-public interface IRegisterView extends IView {
-
-    void onRegisterResult(BeiUser user, String message);
-}

+ 0 - 52
app/src/main/java/com/miekir/eden/ui/mine/register/fill/RegisterPresenter.java

@@ -1,52 +0,0 @@
-package com.miekir.eden.ui.mine.register.fill;
-
-import android.text.TextUtils;
-
-import com.miekir.eden.base.ApiService;
-import com.miekir.eden.bean.BeiUser;
-import com.miekir.eden.net.RetrofitHelper;
-import com.miekir.mvp.presenter.BasePresenter;
-import com.miekir.network.core.base.BaseObserver;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.schedulers.Schedulers;
-
-/**
- * @author Miekir
- * @date 2020/7/9 20:54
- * Description: 商品的相关数据接口处理
- */
-public class RegisterPresenter extends BasePresenter<IRegisterView> {
-
-    public void submitRegister(BeiUser user, String code) {
-        Map<String, Object> map = new HashMap<>();
-        map.put("email", user.email);
-        map.put("code", code);
-        map.put("password", user.password);
-        map.put("nickname", user.nickName);
-        map.put("cashAccount", user.cashAccount);
-        RetrofitHelper.getInstance()
-                .getRequestApi(ApiService.class)
-                .submitRegister(map)
-                .subscribeOn(Schedulers.io())
-                .observeOn(AndroidSchedulers.mainThread())
-                .subscribe(new BaseObserver<BeiUser>() {
-                    @Override
-                    public void onSuccess(BeiUser result) {
-                        if (getView() != null) {
-                            getView().onRegisterResult(result, null);
-                        }
-                    }
-
-                    @Override
-                    public void onFailure(Throwable e, String errMsg) {
-                        if (getView() != null) {
-                            getView().onRegisterResult(null, TextUtils.isEmpty(errMsg) ? "注册失败" : errMsg);
-                        }
-                    }
-                });
-    }
-}

+ 7 - 6
app/src/main/java/com/miekir/eden/ui/welcome/WelcomeActivity.java

@@ -11,6 +11,7 @@ import com.miekir.eden.base.BaseBeiActivity;
 import com.miekir.eden.bean.BeiUser;
 import com.miekir.eden.bean.SystemBean;
 import com.miekir.eden.manager.UserInfoManager;
+import com.miekir.eden.tool.StringTool;
 import com.miekir.eden.ui.TabActivity;
 import com.miekir.eden.ui.home.tool.ISystemView;
 import com.miekir.eden.ui.home.tool.SystemPresenter;
@@ -63,36 +64,36 @@ public class WelcomeActivity extends BaseBeiActivity implements ILoginView, ISys
     }
 
     @Override
-    public void onLoginResult(BeiUser user, String message) {
+    public void onLoginResult(BeiUser user, int code) {
         if (user != null) {
             UserInfoManager.getInstance().setBeiUser(user);
             mSystemPresenter.getSystemConfig();
         } else {
-            ToastTool.showShort(message);
+            ToastTool.showShort(StringTool.getString(R.string.init_fail));
             startActivity(new Intent(WelcomeActivity.this, LoginActivity.class));
             finish();
         }
     }
 
     @Override
-    public void onGetConfigResult(boolean success, String message, SystemBean systemBean) {
+    public void onGetConfigResult(boolean success, int code, SystemBean systemBean) {
         if (success && systemBean != null) {
             UserInfoManager.getInstance().setSystemBean(systemBean);
             startActivity(new Intent(WelcomeActivity.this, TabActivity.class));
         } else {
-            ToastTool.showShort(message);
+            ToastTool.showShort(StringTool.getString(R.string.init_fail));
             startActivity(new Intent(WelcomeActivity.this, LoginActivity.class));
         }
         finish();
     }
 
     @Override
-    public void onSetConfigResult(int configType, boolean success, String message, String resultBean) {
+    public void onSetConfigResult(int configType, boolean success, int code, String resultBean) {
 
     }
 
     @Override
-    public void onSetVipResult(boolean success, String message) {
+    public void onSetVipResult(boolean success, int code) {
 
     }
 

+ 3 - 4
app/src/main/java/com/miekir/eden/ui/welcome/WelcomePresenter.java

@@ -1,9 +1,8 @@
 package com.miekir.eden.ui.welcome;
 
-import android.text.TextUtils;
-
 import com.miekir.eden.base.ApiService;
 import com.miekir.eden.bean.BeiUser;
+import com.miekir.eden.constant.EdenError;
 import com.miekir.eden.net.RetrofitHelper;
 import com.miekir.eden.ui.mine.login.ILoginView;
 import com.miekir.mvp.presenter.BasePresenter;
@@ -29,14 +28,14 @@ public class WelcomePresenter extends BasePresenter<ILoginView> {
                     @Override
                     public void onSuccess(BeiUser result) {
                         if (getView() != null) {
-                            getView().onLoginResult(result, null);
+                            getView().onLoginResult(result, EdenError.SUCCESS);
                         }
                     }
 
                     @Override
                     public void onFailure(Throwable e, String errMsg) {
                         if (getView() != null) {
-                            getView().onLoginResult(null, TextUtils.isEmpty(errMsg) ? "获取用户信息失败" : errMsg);
+                            getView().onLoginResult(null, EdenError.COMMON);
                         }
                     }
                 });

+ 78 - 0
app/src/main/res/values-zh-rCN/strings.xml

@@ -0,0 +1,78 @@
+<resources>
+    <string name="app_name">伊甸园</string>
+    <string name="title_home">首页</string>
+    <string name="title_function">活动</string>
+    <string name="title_notifications">活动</string>
+    <string name="title_mine">我的</string>
+    <string name="api_tips_free">(免费开放中)</string>
+    <string name="api_tips_vip_only">(会员专属)</string>
+    <string name="tag_game">游戏</string>
+    <string name="tab_coupon">优惠</string>
+    <string name="tab_template">模板</string>
+    <string name="mine_hello">%s好</string>
+    <string name="hello_lingchen">凌晨</string>
+    <string name="hell_zaoshang">早上</string>
+    <string name="hello_shangwu">上午</string>
+    <string name="hello_zhongwu">中午</string>
+    <string name="hello_xiawu">下午</string>
+    <string name="hello_bangwan">傍晚</string>
+    <string name="hello_wanshang">晚上</string>
+    <string name="hello_shenye">深夜</string>
+    <string name="about_title">伊甸园 v%s%s</string>
+    <string name="about_active">(已激活)</string>
+    <string name="about_not_active">(未激活)</string>
+    <string name="about_copy_account">已拷贝当前账号</string>
+    <string name="about_active_copy_account">已拷贝当前账号,请务必粘贴到备注</string>
+    <string name="cancel">取消</string>
+    <string name="confirm">确定</string>
+    <string name="about_top_version">当前已经是最新版本啦</string>
+    <string name="data_refresh_success">刷新成功</string>
+    <string name="data_no_more">没有更多数据了</string>
+    <string name="data_get_fail">获取失败</string>
+
+    <string name="delete_success">删除成功</string>
+    <string name="delete_fail">删除失败</string>
+    <string name="goods_view_num">浏览%s次</string>
+    <string name="goods_fav_num">收藏%s次</string>
+    <string name="title_detail">详情</string>
+    <string name="goods_in_fav">已收藏</string>
+    <string name="goods_fav">收藏</string>
+    <string name="goods_fav_success">收藏成功</string>
+    <string name="goods_fav_fail">收藏失败</string>
+    <string name="goods_get_download_fail">获取下载地址失败</string>
+    <string name="goods_torrent_copied">已复制资源链接</string>
+    <string name="click_to_copy">(点击复制)</string>
+    <string name="upgrade_to_vip">请先激活会员</string>
+    <string name="limited">(已禁用)</string>
+    <string name="limited_title">已被禁用</string>
+    <string name="coming">敬请期待</string>
+    <string name="operate_title">选择操作</string>
+    <string name="operate_limited">禁用</string>
+    <string name="operate_delete">删除</string>
+    <string name="operate_success">操作成功</string>
+    <string name="operate_fail">操作失败</string>
+    <string name="operate_sure_to_delete">确定删除商品:</string>
+    <string name="title_search">搜索</string>
+    <string name="search_fail">搜索失败</string>
+    <string name="hint_input_keyword">请输入关键字或链接</string>
+    <string name="init_fail">初始化信息失败</string>
+    <string name="title_recommend">推荐</string>
+    <string name="exit_press_again">再按一次退出</string>
+    <string name="title_photo">图片</string>
+    <string name="title_about">关于</string>
+    <string name="login_success">登录成功</string>
+    <string name="login_fail">登录失败</string>
+    <string name="title_login">伊甸园登录</string>
+    <string name="login_account_empty">账号不能为空</string>
+    <string name="login_not_open">暂不开放手动输入账号登录</string>
+    <string name="login_password_empty">密码不能为空</string>
+    <string name="login_phone_not_support">暂不支持本手机</string>
+    <string name="login_encrypt_not_support">该手机不支持加密算法</string>
+    <string name="reboot">请重启应用</string>
+    <string name="mine_not_set_zfb">还没设置收款链接</string>
+    <string name="mine_account_empty">要升级的账号不能为空</string>
+    <string name="mine_zfb_empty">支付宝账号不能为空</string>
+    <string name="mine_exit">确定退出当前账号?</string>
+    <string name="mine_set_success">设置成功</string>
+    <string name="mine_set_fail">设置失败</string>
+</resources>

+ 69 - 0
app/src/main/res/values/strings.xml

@@ -6,4 +6,73 @@
     <string name="title_mine">我的</string>
     <string name="api_tips_free">(免费开放中)</string>
     <string name="api_tips_vip_only">(会员专属)</string>
+    <string name="tag_game">游戏</string>
+    <string name="tab_coupon">优惠</string>
+    <string name="tab_template">模板</string>
+    <string name="mine_hello">%s好</string>
+    <string name="hello_lingchen">凌晨</string>
+    <string name="hell_zaoshang">早上</string>
+    <string name="hello_shangwu">上午</string>
+    <string name="hello_zhongwu">中午</string>
+    <string name="hello_xiawu">下午</string>
+    <string name="hello_bangwan">傍晚</string>
+    <string name="hello_wanshang">晚上</string>
+    <string name="hello_shenye">深夜</string>
+    <string name="about_title">伊甸园 v%s%s</string>
+    <string name="about_active">(已激活)</string>
+    <string name="about_not_active">(未激活)</string>
+    <string name="about_copy_account">已拷贝当前账号</string>
+    <string name="about_active_copy_account">已拷贝当前账号,请务必粘贴到备注</string>
+    <string name="cancel">取消</string>
+    <string name="confirm">确定</string>
+    <string name="about_top_version">当前已经是最新版本啦</string>
+    <string name="data_refresh_success">刷新成功</string>
+    <string name="data_no_more">没有更多数据了</string>
+    <string name="data_get_fail">获取失败</string>
+
+    <string name="delete_success">删除成功</string>
+    <string name="delete_fail">删除失败</string>
+    <string name="goods_view_num">浏览%s次</string>
+    <string name="goods_fav_num">收藏%s次</string>
+    <string name="title_detail">详情</string>
+    <string name="goods_in_fav">已收藏</string>
+    <string name="goods_fav">收藏</string>
+    <string name="goods_fav_success">收藏成功</string>
+    <string name="goods_fav_fail">收藏失败</string>
+    <string name="goods_get_download_fail">获取下载地址失败</string>
+    <string name="goods_torrent_copied">已复制资源链接</string>
+    <string name="click_to_copy">(点击复制)</string>
+    <string name="upgrade_to_vip">请先激活会员</string>
+    <string name="limited">(已禁用)</string>
+    <string name="limited_title">已被禁用</string>
+    <string name="coming">敬请期待</string>
+    <string name="operate_title">选择操作</string>
+    <string name="operate_limited">禁用</string>
+    <string name="operate_delete">删除</string>
+    <string name="operate_success">操作成功</string>
+    <string name="operate_fail">操作失败</string>
+    <string name="operate_sure_to_delete">确定删除商品:</string>
+    <string name="title_search">搜索</string>
+    <string name="search_fail">搜索失败</string>
+    <string name="hint_input_keyword">请输入关键字或链接</string>
+    <string name="init_fail">初始化信息失败</string>
+    <string name="title_recommend">推荐</string>
+    <string name="exit_press_again">再按一次退出</string>
+    <string name="title_photo">图片</string>
+    <string name="title_about">关于</string>
+    <string name="login_success">登录成功</string>
+    <string name="login_fail">登录失败</string>
+    <string name="title_login">伊甸园登录</string>
+    <string name="login_account_empty">账号不能为空</string>
+    <string name="login_not_open">暂不开放手动输入账号登录</string>
+    <string name="login_password_empty">密码不能为空</string>
+    <string name="login_phone_not_support">暂不支持本手机</string>
+    <string name="login_encrypt_not_support">该手机不支持加密算法</string>
+    <string name="reboot">请重启应用</string>
+    <string name="mine_not_set_zfb">还没设置收款链接</string>
+    <string name="mine_account_empty">要升级的账号不能为空</string>
+    <string name="mine_zfb_empty">支付宝账号不能为空</string>
+    <string name="mine_exit">确定退出当前账号?</string>
+    <string name="mine_set_success">设置成功</string>
+    <string name="mine_set_fail">设置失败</string>
 </resources>

+ 2 - 2
common/src/main/java/com/miekir/common/provider/CommonInstaller.java

@@ -8,8 +8,8 @@ import android.net.Uri;
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
+import com.miekir.common.utils.ContextManager;
 import com.miekir.common.utils.SizeTool;
-import com.miekir.common.utils.ToastTool;
 
 /**
  *
@@ -21,7 +21,7 @@ public class CommonInstaller extends ContentProvider {
     @Override
     public boolean onCreate() {
         if (getContext() != null) {
-            ToastTool.getInstance().initTool(getContext().getApplicationContext());
+            ContextManager.getInstance().initContext(getContext().getApplicationContext());
             SizeTool.SCREEN_WIDTH = getContext().getResources().getDisplayMetrics().widthPixels;
             SizeTool.SCREEN_HEIGHT = getContext().getResources().getDisplayMetrics().heightPixels;
         }

+ 39 - 0
common/src/main/java/com/miekir/common/utils/ContextManager.java

@@ -0,0 +1,39 @@
+package com.miekir.common.utils;
+
+import android.content.Context;
+
+import java.lang.ref.WeakReference;
+
+/**
+ * Copyright (C), 2019-2020, Miekir
+ *
+ * @author Miekir
+ * @date 2020/9/12 17:43
+ * Description:
+ */
+public class ContextManager {
+    private ContextManager(){}
+
+    private static WeakReference<Context> contextWeakReference = new WeakReference<>(null);
+    private static ContextManager instance;
+    public void initContext(Context context) {
+        contextWeakReference = new WeakReference<>(context);
+    }
+
+    public static ContextManager getInstance() {
+        if (instance == null) {
+            init();
+        }
+        return instance;
+    }
+
+    private static synchronized void init() {
+        if (instance == null) {
+            instance = new ContextManager();
+        }
+    }
+
+    public Context getContext() {
+        return contextWeakReference.get();
+    }
+}

+ 2 - 22
common/src/main/java/com/miekir/common/utils/ToastTool.java

@@ -3,8 +3,6 @@ package com.miekir.common.utils;
 import android.content.Context;
 import android.widget.Toast;
 
-import java.lang.ref.WeakReference;
-
 /**
  * @author Miekir
  * @date 2020/7/5 0:08
@@ -14,25 +12,7 @@ public class ToastTool {
     private static final long PERIOD_SHORT = 1500L;
     private static final long PERIOD_LONG = 2500L;
 
-    private static WeakReference<Context> contextWeakReference = new WeakReference<>(null);
     private ToastTool() { }
-    private static ToastTool instance;
-    public void initTool(Context context) {
-        contextWeakReference = new WeakReference<>(context);
-    }
-
-    public static ToastTool getInstance() {
-        if (instance == null) {
-            init();
-        }
-        return instance;
-    }
-
-    private static synchronized void init() {
-        if (instance == null) {
-            instance = new ToastTool();
-        }
-    }
 
     private static long mLastShortToastMillis;
     private static long mLastLongToastMillis;
@@ -40,7 +20,7 @@ public class ToastTool {
      * @param text 要弹出的语句
      */
     public static void showShort(String text) {
-        Context context = contextWeakReference.get();
+        Context context = ContextManager.getInstance().getContext();
         if (context == null) {
             return;
         }
@@ -55,7 +35,7 @@ public class ToastTool {
      * @param text 要弹出的语句
      */
     public static void showLong(String text) {
-        Context context = contextWeakReference.get();
+        Context context = ContextManager.getInstance().getContext();
         if (context == null) {
             return;
         }

+ 4 - 0
network/src/main/res/values-zh-rCN/strings.xml

@@ -0,0 +1,4 @@
+<resources>
+    <string name="app_name">network</string>
+    <string name="network_loading">加载中…</string>
+</resources>

+ 1 - 1
network/src/main/res/values/strings.xml

@@ -1,4 +1,4 @@
 <resources>
     <string name="app_name">network</string>
-    <string name="network_loading">加载中…</string>
+    <string name="network_loading">Loading…</string>
 </resources>