diff --git a/Bitu/Base/build.gradle b/Bitu/Base/build.gradle index 53a89f4e4bc0b708546781d243e9ecfee2df328a..b4b1ed0a38703ae1bfde9d8c28bf8296f169f5d0 100644 --- a/Bitu/Base/build.gradle +++ b/Bitu/Base/build.gradle @@ -10,8 +10,12 @@ android { targetSdkVersion 25 versionCode 1 versionName "1.0" - testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + javaCompileOptions { + annotationProcessorOptions { + arguments = [ moduleName : project.getName() ] + } + } } @@ -31,6 +35,10 @@ dependencies { compile 'com.android.support:appcompat-v7:25.1.0' compile 'com.readystatesoftware.systembartint:systembartint:1.0.3' compile 'com.tencent.bugly:crashreport_upgrade:latest.release' + compile 'com.github.castorflex.smoothprogressbar:library:1.1.0' + compile 'com.github.castorflex.smoothprogressbar:library-circular:1.3.0' + compile 'com.alibaba:arouter-api:1.3.1' + annotationProcessor 'com.alibaba:arouter-compiler:1.1.4' androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) diff --git a/Bitu/app/src/main/res/anim/pocket_interpolator.xml b/Bitu/Base/src/main/res/anim/pocket_interpolator.xml similarity index 100% rename from Bitu/app/src/main/res/anim/pocket_interpolator.xml rename to Bitu/Base/src/main/res/anim/pocket_interpolator.xml diff --git a/Bitu/app/src/main/res/drawable-xxhdpi/market_kline_back.png b/Bitu/Base/src/main/res/drawable-xxhdpi/base_btn_back.png similarity index 100% rename from Bitu/app/src/main/res/drawable-xxhdpi/market_kline_back.png rename to Bitu/Base/src/main/res/drawable-xxhdpi/base_btn_back.png diff --git a/Bitu/Base/src/main/res/layout/base_activity_smart_tab.xml b/Bitu/Base/src/main/res/layout/base_activity_smart_tab.xml index 2b6006e30a812184aa8acf9dfc382c596ff69159..ae439d4963ed13b2aac38c01402bda8990e96087 100644 --- a/Bitu/Base/src/main/res/layout/base_activity_smart_tab.xml +++ b/Bitu/Base/src/main/res/layout/base_activity_smart_tab.xml @@ -18,7 +18,7 @@ android:layout_height="46dp" android:background="@color/c3C61A9" android:paddingBottom="4dp" - app:stl_customTabTextLayoutId="@layout/chart_tab_indicator" + app:stl_customTabTextLayoutId="@layout/base_tab_indicator" app:stl_customTabTextViewId="@+id/tab_text" app:stl_defaultTabTextAllCaps="false" app:stl_defaultTabTextColor="@color/white" diff --git a/Bitu/Base/src/main/res/layout/chart_tab_indicator.xml b/Bitu/Base/src/main/res/layout/base_tab_indicator.xml similarity index 100% rename from Bitu/Base/src/main/res/layout/chart_tab_indicator.xml rename to Bitu/Base/src/main/res/layout/base_tab_indicator.xml diff --git a/Bitu/app/src/main/res/values/colors_pb.xml b/Bitu/Base/src/main/res/values/colors_pb.xml similarity index 100% rename from Bitu/app/src/main/res/values/colors_pb.xml rename to Bitu/Base/src/main/res/values/colors_pb.xml diff --git a/Bitu/Base/src/main/res/values/styles.xml b/Bitu/Base/src/main/res/values/styles.xml index 613367d39f49cc03a37669e058b50803062c8336..bea03ff3cea517027be652230e2d51d3a0a5970a 100644 --- a/Bitu/Base/src/main/res/values/styles.xml +++ b/Bitu/Base/src/main/res/values/styles.xml @@ -26,6 +26,58 @@ 40dp + + + + + + + + + + + diff --git a/Bitu/Trading/build.gradle b/Bitu/Trading/build.gradle index 789518868c6f2e0aee4ad1146041f9d9c131077d..32bf60f5567df40f43901c4f720ce5f875b233f9 100644 --- a/Bitu/Trading/build.gradle +++ b/Bitu/Trading/build.gradle @@ -12,7 +12,11 @@ android { versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" - + javaCompileOptions { + annotationProcessorOptions { + arguments = [ moduleName : project.getName() ] + } + } } buildTypes { @@ -26,6 +30,7 @@ android { dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) + annotationProcessor 'com.alibaba:arouter-compiler:1.1.4' androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) diff --git a/Bitu/Trading/src/main/java/bitu/trading/ui/BuyFragment.java b/Bitu/Trading/src/main/java/bitu/trading/ui/BuyFragment.java new file mode 100644 index 0000000000000000000000000000000000000000..3ab24a70fe9b898566d9bda14d86c16ced6203ca --- /dev/null +++ b/Bitu/Trading/src/main/java/bitu/trading/ui/BuyFragment.java @@ -0,0 +1,22 @@ +package bitu.trading.ui; + + +import bitu.trading.R; + +/** + * 买入界面 + * Created by longt on 2018/1/25. + */ + +public class BuyFragment extends RefreshFragment { + + @Override + protected void loadData() { + + } + + @Override + protected int getLayoutId() { + return R.layout.trading_fragment_buy; + } +} diff --git a/Bitu/Trading/src/main/java/bitu/trading/ui/EntrustmentFragment.java b/Bitu/Trading/src/main/java/bitu/trading/ui/EntrustmentFragment.java new file mode 100644 index 0000000000000000000000000000000000000000..43df88b25cfa15aa94b3c2832ad6a722a6a8675e --- /dev/null +++ b/Bitu/Trading/src/main/java/bitu/trading/ui/EntrustmentFragment.java @@ -0,0 +1,19 @@ +package bitu.trading.ui; + + +import bitu.trading.R; +import bitu.ui.BaseFragment; + +/** + * 我的委托 + * Created by longt on 2018/1/25. + */ + +public class EntrustmentFragment extends BaseFragment { + + + @Override + protected int getLayoutId() { + return R.layout.trading_fragment_entrust; + } +} diff --git a/Bitu/Trading/src/main/java/bitu/trading/ui/RecordFragment.java b/Bitu/Trading/src/main/java/bitu/trading/ui/RecordFragment.java new file mode 100644 index 0000000000000000000000000000000000000000..83f7715b4eaf0a9d4f2e7b51714fe2e40c375e4c --- /dev/null +++ b/Bitu/Trading/src/main/java/bitu/trading/ui/RecordFragment.java @@ -0,0 +1,19 @@ +package bitu.trading.ui; + + +import bitu.trading.R; +import bitu.ui.BaseFragment; + +/** + * 成交记录 + * Created by longt on 2018/1/25. + */ + +public class RecordFragment extends BaseFragment { + + + @Override + protected int getLayoutId() { + return R.layout.trading_fragment_record; + } +} diff --git a/Bitu/Trading/src/main/java/bitu/trading/ui/RefreshFragment.java b/Bitu/Trading/src/main/java/bitu/trading/ui/RefreshFragment.java new file mode 100644 index 0000000000000000000000000000000000000000..1ad76109484412094891b0be8aaad53ff3a0df4a --- /dev/null +++ b/Bitu/Trading/src/main/java/bitu/trading/ui/RefreshFragment.java @@ -0,0 +1,71 @@ +package bitu.trading.ui; + +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.support.annotation.Nullable; + +import java.lang.ref.WeakReference; + +import bitu.ui.BaseFragment; + +/** + * Created by tomcat on 2017/10/25. + */ + +public abstract class RefreshFragment extends BaseFragment { + + private static final int REFRESH_INTERVAL = 2000; + private static final int MSG_REFRESH = 0; + private final RefreshHandler refreshHandler = new RefreshHandler(this); + private static class RefreshHandler extends Handler { + private final WeakReference fragment; + + public RefreshHandler(RefreshFragment fragment) { + this.fragment = new WeakReference(fragment); + } + + @Override + public void handleMessage(Message msg) { + if (fragment.get() == null) return; + fragment.get().loadData(); + sendEmptyMessageDelayed(MSG_REFRESH, REFRESH_INTERVAL); + } + } + + + protected abstract void loadData(); + + protected void sendLoadDataMsg() { + refreshHandler.removeCallbacksAndMessages(null); + refreshHandler.sendEmptyMessage(MSG_REFRESH); + } + + @Override + protected void onVisible() { + sendLoadDataMsg(); + } + + @Override + public void onActivityCreated(@Nullable Bundle savedInstanceState) { + super.onActivityCreated(savedInstanceState); + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + refreshHandler.removeCallbacksAndMessages(null); + } + + @Override + protected void onInvisible() { + refreshHandler.removeCallbacksAndMessages(null); + } + + @Override + protected void lazyLoad() { + sendLoadDataMsg(); + } + + +} diff --git a/Bitu/Trading/src/main/java/bitu/trading/ui/SellFragment.java b/Bitu/Trading/src/main/java/bitu/trading/ui/SellFragment.java new file mode 100644 index 0000000000000000000000000000000000000000..145f4724467398fb8dcb283f7acf75ef72759301 --- /dev/null +++ b/Bitu/Trading/src/main/java/bitu/trading/ui/SellFragment.java @@ -0,0 +1,22 @@ +package bitu.trading.ui; + + +import bitu.trading.R; + +/** + * 卖出界面 + * Created by longt on 2018/1/25. + */ + +public class SellFragment extends RefreshFragment { + + @Override + protected void loadData() { + + } + + @Override + protected int getLayoutId() { + return R.layout.trading_fragment_buy; + } +} diff --git a/Bitu/Trading/src/main/java/bitu/trading/ui/TradingActivity.java b/Bitu/Trading/src/main/java/bitu/trading/ui/TradingActivity.java index f3471af41b03157a7b817f8cbe220d0341d37b91..c89ab9b42704566e4e04525b9fe3f002df9b23f3 100644 --- a/Bitu/Trading/src/main/java/bitu/trading/ui/TradingActivity.java +++ b/Bitu/Trading/src/main/java/bitu/trading/ui/TradingActivity.java @@ -1,12 +1,29 @@ package bitu.trading.ui; -import bitu.ui.BaseActivity; +import com.alibaba.android.arouter.facade.annotation.Route; + +import bitu.trading.R; +import bitu.ui.SmartTabActivity; /** + * 交易模块首页 * Created by tomcat on 2018/1/25. */ +@Route(path = "/trading/entry") +public class TradingActivity extends SmartTabActivity { + -public class TradingActivity extends BaseActivity { + @Override + protected int getLayoutId() { + return R.layout.trading_activity_main; + } - + @Override + protected Tab[] getTabs() { + return new Tab[]{ + new Tab(getString(R.string.trading_tab_buy), true, BuyFragment.class), + new Tab(getString(R.string.trading_tab_sell), false, SellFragment.class), + new Tab(getString(R.string.trading_tab_entrustment), false, EntrustmentFragment.class), + new Tab(getString(R.string.trading_tab_record), false, RecordFragment.class)}; + } } diff --git a/Bitu/Trading/src/main/res/layout/trading_activity_main.xml b/Bitu/Trading/src/main/res/layout/trading_activity_main.xml new file mode 100644 index 0000000000000000000000000000000000000000..f90f72a46d8648917fa0b73d893ac8dd3b236e7d --- /dev/null +++ b/Bitu/Trading/src/main/res/layout/trading_activity_main.xml @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Bitu/Trading/src/main/res/layout/trading_fragment_buy.xml b/Bitu/Trading/src/main/res/layout/trading_fragment_buy.xml new file mode 100644 index 0000000000000000000000000000000000000000..908b08a4c5bbc7123d8fe7e417109efa79bdf347 --- /dev/null +++ b/Bitu/Trading/src/main/res/layout/trading_fragment_buy.xml @@ -0,0 +1,16 @@ + + + + + + + \ No newline at end of file diff --git a/Bitu/Trading/src/main/res/layout/trading_fragment_entrust.xml b/Bitu/Trading/src/main/res/layout/trading_fragment_entrust.xml new file mode 100644 index 0000000000000000000000000000000000000000..908b08a4c5bbc7123d8fe7e417109efa79bdf347 --- /dev/null +++ b/Bitu/Trading/src/main/res/layout/trading_fragment_entrust.xml @@ -0,0 +1,16 @@ + + + + + + + \ No newline at end of file diff --git a/Bitu/Trading/src/main/res/layout/trading_fragment_record.xml b/Bitu/Trading/src/main/res/layout/trading_fragment_record.xml new file mode 100644 index 0000000000000000000000000000000000000000..908b08a4c5bbc7123d8fe7e417109efa79bdf347 --- /dev/null +++ b/Bitu/Trading/src/main/res/layout/trading_fragment_record.xml @@ -0,0 +1,16 @@ + + + + + + + \ No newline at end of file diff --git a/Bitu/Trading/src/main/res/layout/trading_fragment_sell.xml b/Bitu/Trading/src/main/res/layout/trading_fragment_sell.xml new file mode 100644 index 0000000000000000000000000000000000000000..908b08a4c5bbc7123d8fe7e417109efa79bdf347 --- /dev/null +++ b/Bitu/Trading/src/main/res/layout/trading_fragment_sell.xml @@ -0,0 +1,16 @@ + + + + + + + \ No newline at end of file diff --git a/Bitu/Trading/src/main/res/layout/trading_tab_indicator.xml b/Bitu/Trading/src/main/res/layout/trading_tab_indicator.xml new file mode 100644 index 0000000000000000000000000000000000000000..8141377b84bdfc1988da7be498bc818c71aa5901 --- /dev/null +++ b/Bitu/Trading/src/main/res/layout/trading_tab_indicator.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/Bitu/Trading/src/main/res/values-zh-rCN/strings.xml b/Bitu/Trading/src/main/res/values-zh-rCN/strings.xml new file mode 100644 index 0000000000000000000000000000000000000000..4c3aaf4848ecb536717c6d003ee9be4718d3066a --- /dev/null +++ b/Bitu/Trading/src/main/res/values-zh-rCN/strings.xml @@ -0,0 +1,7 @@ + + + 买入 + 卖出 + 我的委托 + 成交记录 + diff --git a/Bitu/Trading/src/main/res/values/strings.xml b/Bitu/Trading/src/main/res/values/strings.xml index 722b4664e0acf8cff602f57008a412c1e3661ac9..dd09ca9fea93e0db01e2bb82e544db2be581309f 100644 --- a/Bitu/Trading/src/main/res/values/strings.xml +++ b/Bitu/Trading/src/main/res/values/strings.xml @@ -1,3 +1,6 @@ - Trading + Buy + Sell + Entrustment + Record diff --git a/Bitu/app/build.gradle b/Bitu/app/build.gradle index 10494be2d524a1f7fbabc63367c55d41c291c418..a74c25d842031690b3089e4da27270999ed8ec2e 100644 --- a/Bitu/app/build.gradle +++ b/Bitu/app/build.gradle @@ -28,6 +28,11 @@ android { versionCode 36 versionName "v0.1.36" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + javaCompileOptions { + annotationProcessorOptions { + arguments = [ moduleName : project.getName() ] + } + } } buildTypes { @@ -60,16 +65,16 @@ android { dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile project(path: ':Base') + compile project(path: ':Trading') compile project(path: ':DataProvider') compile project(path: ':StockChart') compile project(path: ':MPChartLib') compile 'com.android.support:design:25.1.0' compile 'com.android.support:support-v4:25.1.0' compile 'com.android.support:cardview-v7:25.1.0' - compile 'com.github.castorflex.smoothprogressbar:library:1.1.0' - compile 'com.github.castorflex.smoothprogressbar:library-circular:1.3.0' compile 'com.android.support.constraint:constraint-layout:1.0.2' compile 'com.google.zxing:core:3.3.0' + annotationProcessor 'com.alibaba:arouter-compiler:1.1.4' androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) diff --git a/Bitu/app/src/main/AndroidManifest.xml b/Bitu/app/src/main/AndroidManifest.xml index cbb57896442b7ec5274358fedb42f9c934a8d83f..e8beccd67719d712ce9fb4a88679191ad8200caf 100644 --- a/Bitu/app/src/main/AndroidManifest.xml +++ b/Bitu/app/src/main/AndroidManifest.xml @@ -70,6 +70,10 @@ android:name=".ui.search.SearchActivity" android:theme="@style/CustomTheme" /> + + \ No newline at end of file diff --git a/Bitu/app/src/main/java/com/bitu/app/BituApp.java b/Bitu/app/src/main/java/com/bitu/app/BituApp.java index 1f942cf6cb6ee3b95d996718f295436c866bb1ca..746dc2d370414e57c811428078cc6f0fb1811e62 100644 --- a/Bitu/app/src/main/java/com/bitu/app/BituApp.java +++ b/Bitu/app/src/main/java/com/bitu/app/BituApp.java @@ -14,6 +14,7 @@ import android.os.Looper; import android.support.v4.content.LocalBroadcastManager; import android.text.TextUtils; +import com.alibaba.android.arouter.launcher.ARouter; import com.bitu.BuildConfig; import com.bitu.ui.TestActivity; import com.bitu.ui.connect.ConnectStateActivity; @@ -73,6 +74,12 @@ public class BituApp extends Application { } private void init() { + if (isDebug()) { // 这两行必须写在init之前,否则这些配置在init过程中将无效 + ARouter.openLog(); // 打印日志 + ARouter.openDebug(); // 开启调试模式(如果在InstantRun模式下运行,必须开启调试模式!线上版本需要关闭,否则有安全风险) + } + ARouter.init(this); // 尽可能早,推荐在Application中初始化 + Constants.SERVER_URL = BuildConfig.SERVER_HOST; CrashHandler.getInstance().init(); if (TextUtils.equals("release", BuildConfig.BUILD_TYPE)) { @@ -91,6 +98,10 @@ public class BituApp extends Application { bituServer.initConnectCallback(listener); } + private boolean isDebug() { + return TextUtils.equals("debug", BuildConfig.BUILD_TYPE); + } + private void registerReceiver() { IntentFilter intentFilter = new IntentFilter(); diff --git a/Bitu/app/src/main/java/com/bitu/ui/chart/KLineActivity.java b/Bitu/app/src/main/java/com/bitu/ui/chart/KLineActivity.java index d69beea3a4df2e602bb3ac1118fe7ee78010bdda..cdfa6e66ea825742564183b2c51a716a4986829b 100644 --- a/Bitu/app/src/main/java/com/bitu/ui/chart/KLineActivity.java +++ b/Bitu/app/src/main/java/com/bitu/ui/chart/KLineActivity.java @@ -11,6 +11,7 @@ import android.view.View; import android.widget.ImageView; import android.widget.TextView; +import com.alibaba.android.arouter.launcher.ARouter; import com.bitu.R; import com.bitu.app.BituApp; import bitu.controller.ExchangeRateController; @@ -380,6 +381,15 @@ public class KLineActivity extends SmartTabActivity { ////////////////trade//////////////////// btnTrade = findViewById(R.id.btn_trade); + btnTrade.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + ARouter.getInstance().build("/trading/entry") + .withSerializable("coin", coin) + .withSerializable("exchange", exchange) + .navigation(); + } + }); ///////////////////////////////////////// viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { diff --git a/Bitu/app/src/main/res/layout/chart_activity_kline.xml b/Bitu/app/src/main/res/layout/chart_activity_kline.xml index 740694e9a05640d684cd8d4227d917eca2674cd5..f4ba54678fa046a4f2aed192d451e8f2e4470991 100644 --- a/Bitu/app/src/main/res/layout/chart_activity_kline.xml +++ b/Bitu/app/src/main/res/layout/chart_activity_kline.xml @@ -24,7 +24,7 @@ android:layout_marginEnd="18.3dp" android:layout_marginStart="11.6dp" android:contentDescription="@null" - android:src="@drawable/market_kline_back" /> + android:src="@drawable/base_btn_back" /> @@ -125,7 +125,7 @@ android:layout_width="match_parent" android:layout_height="46dp" android:background="@color/c3C61A9" - app:stl_customTabTextLayoutId="@layout/chart_tab_indicator" + app:stl_customTabTextLayoutId="@layout/base_tab_indicator" app:stl_customTabTextViewId="@+id/tab_text" app:stl_defaultTabTextAllCaps="false" app:stl_defaultTabTextColor="@color/white" diff --git a/Bitu/app/src/main/res/values/styles.xml b/Bitu/app/src/main/res/values/styles.xml index 49e69a1932de273c6d573a605d0b83315531aca0..bae9317fc4f105a7b8d9fa5d95a3d04053cd7d69 100644 --- a/Bitu/app/src/main/res/values/styles.xml +++ b/Bitu/app/src/main/res/values/styles.xml @@ -34,58 +34,6 @@ 15sp - - - - - - - - - - -