├── app ├── .gitignore ├── libs │ ├── fastjson.jar │ ├── httpmime-4.2.4.jar │ ├── avoscloud-sdk-v3.14.2.jar │ ├── okhttp-2.6.0-leancloud.jar │ ├── okio-1.6.0-leancloud.jar │ └── avoscloud-feedback-v3.14.9.jar ├── src │ ├── main │ │ ├── res │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── out_1.png │ │ │ │ ├── out_10.png │ │ │ │ ├── out_11.png │ │ │ │ ├── out_12.png │ │ │ │ ├── out_13.png │ │ │ │ ├── out_14.png │ │ │ │ ├── out_15.png │ │ │ │ ├── out_16.png │ │ │ │ ├── out_17.png │ │ │ │ ├── out_18.png │ │ │ │ ├── out_19.png │ │ │ │ ├── out_2.png │ │ │ │ ├── out_20.png │ │ │ │ ├── out_21.png │ │ │ │ ├── out_22.png │ │ │ │ ├── out_23.png │ │ │ │ ├── out_24.png │ │ │ │ ├── out_25.png │ │ │ │ ├── out_26.png │ │ │ │ ├── out_3.png │ │ │ │ ├── out_4.png │ │ │ │ ├── out_5.png │ │ │ │ ├── out_6.png │ │ │ │ ├── out_7.png │ │ │ │ ├── out_8.png │ │ │ │ ├── out_9.png │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── ic_action_return.png │ │ │ │ ├── ic_actionbar_menu.png │ │ │ │ ├── ic_action_sahre_white.png │ │ │ │ ├── ic_actionbar_search.png │ │ │ │ ├── ic_close_actioncard.png │ │ │ │ ├── ic_action_return_white.png │ │ │ │ ├── ic_actionbar_menu_more.png │ │ │ │ ├── ic_actionbar_menu_white.png │ │ │ │ ├── room_backgroud_default.png │ │ │ │ ├── ic_actionbar_search_white.png │ │ │ │ ├── ic_actionbar_menu_more_white.png │ │ │ │ ├── avoscloud_feedback_notification.9.png │ │ │ │ ├── avoscloud_feedback_dev_reply_background.9.png │ │ │ │ ├── avoscloud_feedback_thread_actionbar_back.png │ │ │ │ └── avoscloud_feedback_user_reply_background.9.png │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── drawable │ │ │ │ ├── avoscloud_feedback_thread_actionbar_back.png │ │ │ │ ├── live_status_backgroud.xml │ │ │ │ ├── avoscloud_feedback_actionbar_background.xml │ │ │ │ ├── side_nav_bar.xml │ │ │ │ └── empty_bike.xml │ │ │ ├── anim │ │ │ │ └── anim_bottom_in.xml │ │ │ ├── drawable-v21 │ │ │ │ ├── ic_menu_send.xml │ │ │ │ ├── ic_menu_slideshow.xml │ │ │ │ ├── ic_menu_gallery.xml │ │ │ │ ├── ic_menu_manage.xml │ │ │ │ ├── ic_menu_camera.xml │ │ │ │ └── ic_menu_share.xml │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ ├── menu │ │ │ │ ├── menu_main.xml │ │ │ │ └── activity_main_drawer.xml │ │ │ ├── values │ │ │ │ ├── dimens.xml │ │ │ │ ├── drawables.xml │ │ │ │ ├── colors.xml │ │ │ │ ├── attrs.xml │ │ │ │ ├── styles.xml │ │ │ │ └── strings.xml │ │ │ └── layout │ │ │ │ ├── activity_webview.xml │ │ │ │ ├── activity_common.xml │ │ │ │ ├── content_main.xml │ │ │ │ ├── fragment_follow.xml │ │ │ │ ├── activity_main.xml │ │ │ │ ├── view_loading.xml │ │ │ │ ├── avoscloud_feedback_thread_actionbar.xml │ │ │ │ ├── view_error.xml │ │ │ │ ├── nav_header_main.xml │ │ │ │ ├── app_bar_main.xml │ │ │ │ ├── item_follow_user.xml │ │ │ │ ├── avoscloud_feedback_dev_reply.xml │ │ │ │ ├── avoscloud_feedback_user_reply.xml │ │ │ │ ├── activity_search.xml │ │ │ │ ├── fragment_liveuser_list.xml │ │ │ │ ├── common_toolbar.xml │ │ │ │ ├── fragment_register.xml │ │ │ │ ├── item_fragment_live_user.xml │ │ │ │ ├── avoscloud_feedback_activity_conversation.xml │ │ │ │ └── fragment_login.xml │ │ ├── java │ │ │ └── pub │ │ │ │ └── kanzhibo │ │ │ │ └── app │ │ │ │ ├── common │ │ │ │ ├── EmptyException.java │ │ │ │ ├── widget │ │ │ │ │ └── SwipeRefreshLoadMoreLayout.java │ │ │ │ ├── WebViewActivity.java │ │ │ │ └── CommonActivity.java │ │ │ │ ├── model │ │ │ │ ├── BaseResponse.java │ │ │ │ ├── PlatForm.java │ │ │ │ ├── event │ │ │ │ │ ├── DouyuLoginEvent.java │ │ │ │ │ ├── LoginEvent.java │ │ │ │ │ ├── RegisterEvent.java │ │ │ │ │ ├── SearchEvent.java │ │ │ │ │ └── FollowEvent.java │ │ │ │ ├── searchliveuser │ │ │ │ │ ├── LiveUser.java │ │ │ │ │ ├── UserHuyaPlay.java │ │ │ │ │ └── UserHuyaLive.java │ │ │ │ ├── FollowLive.java │ │ │ │ ├── roominfo │ │ │ │ │ └── HuyaOffUserInfo.java │ │ │ │ ├── QuanminJsonRequest.java │ │ │ │ └── DouyuFollowLiveData.java │ │ │ │ ├── util │ │ │ │ ├── ResUtil.java │ │ │ │ ├── VersionUtils.java │ │ │ │ ├── SharedPreferencesUtils.java │ │ │ │ └── DialogHelp.java │ │ │ │ ├── main │ │ │ │ ├── LiveView.java │ │ │ │ └── LiveUserAdapter.java │ │ │ │ ├── search │ │ │ │ ├── SearchView.java │ │ │ │ ├── present │ │ │ │ │ ├── ZhanqiSearchPresent.java │ │ │ │ │ ├── DouyuSearchPresent.java │ │ │ │ │ ├── PandaSearchPresent.java │ │ │ │ │ ├── QuanminSearchPresent.java │ │ │ │ │ └── HuyaSearchPresent.java │ │ │ │ └── SearchActivity.java │ │ │ │ ├── douyu │ │ │ │ ├── FollowView.java │ │ │ │ ├── FollowUserAdapter.java │ │ │ │ ├── FollowFragment.java │ │ │ │ └── FollowPresenter.java │ │ │ │ ├── login │ │ │ │ ├── LoginView.java │ │ │ │ ├── LoginPresenter.java │ │ │ │ └── LoginFragment.java │ │ │ │ ├── api │ │ │ │ ├── RxSchedulers.java │ │ │ │ ├── ApiClient.java │ │ │ │ └── ILiveApi.java │ │ │ │ ├── register │ │ │ │ ├── RegisterView.java │ │ │ │ ├── RegisterPresenter.java │ │ │ │ └── RegisterFragment.java │ │ │ │ ├── base │ │ │ │ ├── BaseResponse.java │ │ │ │ ├── BaseActivity.java │ │ │ │ ├── BaseLceActivity.java │ │ │ │ ├── BaseFragment.java │ │ │ │ ├── BaseLceFragment.java │ │ │ │ ├── BaseRxLcePresenter.java │ │ │ │ └── BaseSearchPresent.java │ │ │ │ ├── global │ │ │ │ └── Constants.java │ │ │ │ └── App.java │ │ └── AndroidManifest.xml │ ├── test │ │ └── java │ │ │ └── pub │ │ │ └── kanzhibo │ │ │ └── app │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── pub │ │ └── kanzhibo │ │ └── app │ │ └── ExampleInstrumentedTest.java ├── proguard-rules.pro └── build.gradle ├── settings.gradle ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .gitignore ├── gradle.properties ├── gradlew.bat └── README.md /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /app/libs/fastjson.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/libs/fastjson.jar -------------------------------------------------------------------------------- /app/libs/httpmime-4.2.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/libs/httpmime-4.2.4.jar -------------------------------------------------------------------------------- /app/libs/avoscloud-sdk-v3.14.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/libs/avoscloud-sdk-v3.14.2.jar -------------------------------------------------------------------------------- /app/libs/okhttp-2.6.0-leancloud.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/libs/okhttp-2.6.0-leancloud.jar -------------------------------------------------------------------------------- /app/libs/okio-1.6.0-leancloud.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/libs/okio-1.6.0-leancloud.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /app/libs/avoscloud-feedback-v3.14.9.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/libs/avoscloud-feedback-v3.14.9.jar -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/out_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/out_1.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/out_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/out_10.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/out_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/out_11.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/out_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/out_12.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/out_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/out_13.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/out_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/out_14.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/out_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/out_15.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/out_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/out_16.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/out_17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/out_17.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/out_18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/out_18.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/out_19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/out_19.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/out_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/out_2.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/out_20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/out_20.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/out_21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/out_21.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/out_22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/out_22.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/out_23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/out_23.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/out_24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/out_24.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/out_25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/out_25.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/out_26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/out_26.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/out_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/out_3.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/out_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/out_4.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/out_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/out_5.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/out_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/out_6.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/out_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/out_7.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/out_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/out_8.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/out_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/out_9.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_action_return.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/ic_action_return.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_actionbar_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/ic_actionbar_menu.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_action_sahre_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/ic_action_sahre_white.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_actionbar_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/ic_actionbar_search.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_close_actioncard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/ic_close_actioncard.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_action_return_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/ic_action_return_white.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_actionbar_menu_more.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/ic_actionbar_menu_more.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_actionbar_menu_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/ic_actionbar_menu_white.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/room_backgroud_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/room_backgroud_default.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_actionbar_search_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/ic_actionbar_search_white.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_actionbar_menu_more_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/ic_actionbar_menu_more_white.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/avoscloud_feedback_notification.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/avoscloud_feedback_notification.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/avoscloud_feedback_thread_actionbar_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/drawable/avoscloud_feedback_thread_actionbar_back.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | .idea 11 | */build -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/avoscloud_feedback_dev_reply_background.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/avoscloud_feedback_dev_reply_background.9.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/avoscloud_feedback_thread_actionbar_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/avoscloud_feedback_thread_actionbar_back.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/avoscloud_feedback_user_reply_background.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fanturbo/Kanzhibo/HEAD/app/src/main/res/mipmap-xhdpi/avoscloud_feedback_user_reply_background.9.png -------------------------------------------------------------------------------- /app/src/main/java/pub/kanzhibo/app/common/EmptyException.java: -------------------------------------------------------------------------------- 1 | package pub.kanzhibo.app.common; 2 | 3 | /** 4 | * Created by turbo on 2016/11/3. 5 | */ 6 | 7 | public class EmptyException extends Throwable { 8 | } 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/live_status_backgroud.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Dec 28 10:00:20 PST 2015 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/avoscloud_feedback_actionbar_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/side_nav_bar.xml: -------------------------------------------------------------------------------- 1 | 3 | 9 | -------------------------------------------------------------------------------- /app/src/main/java/pub/kanzhibo/app/model/BaseResponse.java: -------------------------------------------------------------------------------- 1 | package pub.kanzhibo.app.model; 2 | 3 | import java.io.Serializable; 4 | 5 | /** 6 | * Created by turbo on 2016/11/1. 7 | * 一般情况下会用到这个基类,因为服务器会返回统一的格式,但是这儿因为多个平台返回格式并不统一,所以没有用到 8 | */ 9 | 10 | public class BaseResponse implements Serializable { 11 | int code; 12 | int msg; 13 | T data; 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/res/anim/anim_bottom_in.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 8 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/java/pub/kanzhibo/app/util/ResUtil.java: -------------------------------------------------------------------------------- 1 | package pub.kanzhibo.app.util; 2 | 3 | import android.content.Context; 4 | 5 | /** 6 | * Created by ykrc17 on 2016/10/23. 7 | */ 8 | 9 | public class ResUtil { 10 | public static int dp2px(Context context, float dp) { 11 | return (int) (context.getResources().getDisplayMetrics().density * dp + 0.5); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v21/ic_menu_send.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/java/pub/kanzhibo/app/main/LiveView.java: -------------------------------------------------------------------------------- 1 | package pub.kanzhibo.app.main; 2 | 3 | import com.hannesdorfmann.mosby.mvp.lce.MvpLceView; 4 | 5 | import java.util.List; 6 | 7 | import pub.kanzhibo.app.model.searchliveuser.LiveUser; 8 | 9 | /** 10 | * Created by snail on 16/10/30. 11 | */ 12 | public interface LiveView extends MvpLceView> { 13 | void stopRefresh(); 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/java/pub/kanzhibo/app/search/SearchView.java: -------------------------------------------------------------------------------- 1 | package pub.kanzhibo.app.search; 2 | 3 | import com.hannesdorfmann.mosby.mvp.lce.MvpLceView; 4 | 5 | import java.util.List; 6 | 7 | import pub.kanzhibo.app.model.searchliveuser.LiveUser; 8 | 9 | /** 10 | * Created by snail on 16/10/30. 11 | */ 12 | public interface SearchView extends MvpLceView> { 13 | void stopRefresh(); 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/java/pub/kanzhibo/app/douyu/FollowView.java: -------------------------------------------------------------------------------- 1 | package pub.kanzhibo.app.douyu; 2 | 3 | import com.hannesdorfmann.mosby.mvp.lce.MvpLceView; 4 | 5 | import java.util.List; 6 | 7 | import pub.kanzhibo.app.model.DouyuFollowLiveData; 8 | 9 | /** 10 | * Created by turbo on 2016/12/26. 11 | */ 12 | 13 | public interface FollowView extends MvpLceView> { 14 | void stopRefresh(); 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/res/menu/menu_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/java/pub/kanzhibo/app/model/PlatForm.java: -------------------------------------------------------------------------------- 1 | package pub.kanzhibo.app.model; 2 | 3 | /** 4 | * Created by turbo on 2016/11/1. 5 | */ 6 | 7 | public enum PlatForm { 8 | DOUYU(1), HUYA(2), ZHANQI(3), PANDA(4), QUANMIN(5); 9 | // 成员变量 10 | private int platform; 11 | 12 | // 构造方法 13 | private PlatForm(int platform) { 14 | this.platform = platform; 15 | } 16 | 17 | public int getPlatform() { 18 | return platform; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v21/ic_menu_slideshow.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v21/ic_menu_gallery.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/test/java/pub/kanzhibo/app/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package pub.kanzhibo.app; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable-v21/ic_menu_manage.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | -------------------------------------------------------------------------------- /app/src/main/java/pub/kanzhibo/app/login/LoginView.java: -------------------------------------------------------------------------------- 1 | package pub.kanzhibo.app.login; 2 | 3 | import com.avos.avoscloud.AVUser; 4 | import com.hannesdorfmann.mosby.mvp.MvpView; 5 | 6 | import pub.kanzhibo.app.model.UserInfo; 7 | 8 | /** 9 | * Created by turbo on 2016/11/2. 10 | */ 11 | 12 | public interface LoginView extends MvpView { 13 | 14 | public void showError(String errMessage); 15 | 16 | public void showLoading(); 17 | 18 | void loginSuccessful(AVUser user); 19 | 20 | void loginSuccessful(UserInfo userInfo); 21 | } 22 | -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 32px 4 | 320px 5 | 6 | 32px 7 | 32px 8 | 32px 9 | 32px 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_webview.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_common.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 14 | -------------------------------------------------------------------------------- /app/src/main/java/pub/kanzhibo/app/model/event/DouyuLoginEvent.java: -------------------------------------------------------------------------------- 1 | package pub.kanzhibo.app.model.event; 2 | 3 | import com.hwangjr.rxbus.annotation.Produce; 4 | 5 | import pub.kanzhibo.app.model.UserInfo; 6 | 7 | /** 8 | * Created by snail on 16/12/28. 9 | */ 10 | public class DouyuLoginEvent { 11 | private UserInfo user; 12 | 13 | public DouyuLoginEvent(UserInfo user) { 14 | this.user = user; 15 | } 16 | 17 | public void setUserInfo(UserInfo user) { 18 | this.user = user; 19 | } 20 | 21 | @Produce 22 | public UserInfo getUserInfo() { 23 | return this.user; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /app/src/main/java/pub/kanzhibo/app/model/event/LoginEvent.java: -------------------------------------------------------------------------------- 1 | package pub.kanzhibo.app.model.event; 2 | 3 | import com.avos.avoscloud.AVUser; 4 | import com.hwangjr.rxbus.annotation.Produce; 5 | 6 | import pub.kanzhibo.app.model.UserInfo; 7 | 8 | /** 9 | * Created by turbo on 2016/10/31. 10 | */ 11 | 12 | public class LoginEvent { 13 | private AVUser user; 14 | 15 | public LoginEvent(AVUser user) { 16 | this.user = user; 17 | } 18 | 19 | public void setUser(AVUser user) { 20 | this.user = user; 21 | } 22 | 23 | @Produce 24 | public AVUser getUser() { 25 | return this.user; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /app/src/main/java/pub/kanzhibo/app/model/event/RegisterEvent.java: -------------------------------------------------------------------------------- 1 | package pub.kanzhibo.app.model.event; 2 | 3 | import com.hwangjr.rxbus.annotation.Produce; 4 | 5 | /** 6 | * Created by turbo on 2016/11/2. 7 | */ 8 | 9 | public class RegisterEvent { 10 | private boolean regsiterStatus; 11 | 12 | public RegisterEvent(boolean regsiterStatus) { 13 | this.regsiterStatus = regsiterStatus; 14 | } 15 | 16 | @Produce 17 | public boolean getRegsiterStatus() { 18 | return regsiterStatus; 19 | } 20 | 21 | public void setRegsiterStatus(boolean regsiterStatus) { 22 | this.regsiterStatus = regsiterStatus; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v21/ic_menu_camera.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/values/drawables.xml: -------------------------------------------------------------------------------- 1 | 2 | @android:drawable/ic_menu_camera 3 | @android:drawable/ic_menu_gallery 4 | @android:drawable/ic_menu_slideshow 5 | @android:drawable/ic_menu_manage 6 | @android:drawable/ic_menu_share 7 | @android:drawable/ic_menu_send 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/java/pub/kanzhibo/app/model/event/SearchEvent.java: -------------------------------------------------------------------------------- 1 | package pub.kanzhibo.app.model.event; 2 | 3 | import com.hwangjr.rxbus.annotation.Produce; 4 | import com.hwangjr.rxbus.annotation.Subscribe; 5 | import com.hwangjr.rxbus.thread.EventThread; 6 | 7 | /** 8 | * Created by turbo on 2016/10/31. 9 | */ 10 | 11 | public class SearchEvent { 12 | private String searchKey; 13 | 14 | public SearchEvent(String searchKey) { 15 | this.searchKey = searchKey; 16 | } 17 | 18 | public void setSearchKey(String searchKey) { 19 | this.searchKey = searchKey; 20 | } 21 | 22 | @Produce 23 | public String getSearchKey() { 24 | return this.searchKey; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in D:\WorkSdk\sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v21/ic_menu_share.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/layout/content_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 16 | 17 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | org.gradle.jvmargs=-Xmx1536m 13 | 14 | # When configured, Gradle will run in incubating parallel mode. 15 | # This option should only be used with decoupled projects. More details, visit 16 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 17 | # org.gradle.parallel=true 18 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #212429 4 | #212429 5 | #EF5D4A 6 | #ffffff 7 | #EF5D4A 8 | #888 9 | #fff 10 | #333333 11 | #000 12 | #56b8f4 13 | #898989 14 | #f8f8f8 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/java/pub/kanzhibo/app/api/RxSchedulers.java: -------------------------------------------------------------------------------- 1 | package pub.kanzhibo.app.api; 2 | 3 | import android.support.annotation.NonNull; 4 | 5 | import rx.Observable; 6 | import rx.android.schedulers.AndroidSchedulers; 7 | import rx.schedulers.Schedulers; 8 | 9 | /** 10 | * 通用的Rx线程转换类 11 | * 参考:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0819/3327.html 12 | */ 13 | public class RxSchedulers { 14 | 15 | static final Observable.Transformer schedulersTransformer = new Observable.Transformer() { 16 | @Override public Object call(Object observable) { 17 | return ((Observable) observable).subscribeOn(Schedulers.io()) 18 | .observeOn(AndroidSchedulers.mainThread()); 19 | } 20 | }; 21 | 22 | public static Observable.Transformer applySchedulers() { 23 | return (Observable.Transformer) schedulersTransformer; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /app/src/androidTest/java/pub/kanzhibo/app/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package pub.kanzhibo.app; 2 | 3 | import android.content.Context; 4 | import android.support.test.InstrumentationRegistry; 5 | import android.support.test.runner.AndroidJUnit4; 6 | 7 | import org.junit.Test; 8 | import org.junit.runner.RunWith; 9 | 10 | import static org.junit.Assert.*; 11 | 12 | /** 13 | * Instrumentation test, which will execute on an Android device. 14 | * 15 | * @see Testing documentation 16 | */ 17 | @RunWith(AndroidJUnit4.class) 18 | public class ExampleInstrumentedTest { 19 | @Test 20 | public void useAppContext() throws Exception { 21 | // Context of the app under test. 22 | Context appContext = InstrumentationRegistry.getTargetContext(); 23 | 24 | assertEquals("pub.kanzhibo.app", appContext.getPackageName()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /app/src/main/java/pub/kanzhibo/app/model/event/FollowEvent.java: -------------------------------------------------------------------------------- 1 | package pub.kanzhibo.app.model.event; 2 | 3 | import com.hwangjr.rxbus.annotation.Produce; 4 | 5 | import pub.kanzhibo.app.model.searchliveuser.LiveUser; 6 | 7 | /** 8 | * Created by turbo on 2016/10/31. 9 | */ 10 | 11 | public class FollowEvent { 12 | private boolean follow; 13 | private LiveUser liveUser; 14 | 15 | public FollowEvent(boolean follow,LiveUser liveUser) { 16 | this.follow = follow; 17 | this.liveUser = liveUser; 18 | } 19 | 20 | public void setfollow(boolean follow) { 21 | this.follow = follow; 22 | } 23 | 24 | @Produce 25 | public boolean getfollow() { 26 | return this.follow; 27 | } 28 | 29 | public LiveUser getLiveUser() { 30 | return liveUser; 31 | } 32 | 33 | public void setLiveUser(LiveUser liveUser) { 34 | this.liveUser = liveUser; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /app/src/main/java/pub/kanzhibo/app/register/RegisterView.java: -------------------------------------------------------------------------------- 1 | package pub.kanzhibo.app.register; 2 | 3 | import com.hannesdorfmann.mosby.mvp.MvpView; 4 | 5 | /** 6 | * Created by turbo on 2016/11/2. 7 | * mvpView 就是说界面上需要的所有动作的定义 8 | * mvpPresenter 界面上所有的逻辑操作 这儿有个mvpPresenter和mvpBasePresenter 这两个其实差不多,但是继承mvpBasePresenter的话 9 | * 不但继承了attachView 和detachView两个方法,还创建了一个软引用的view(即fragment),即不需要自己再去维护presenter和view的联系了 10 | * mvpFragment 有两个用处: 11 | * 1、在合适的地方(比如进入fragment加载数据,或者button的点击事件)调用present的方法 12 | * 2.实现所有动作的定义 implements mvpView,在合适的地方展示view(比如说加载数据时候的loading,加载完成之后的数据显示) 13 | *

14 | * LCE模块的话就是对loading-content-error这个部分做了进一步封装,使用起来方便些。 15 | * 当然,比如说login这样的模块或者只是简单的一个网络请求或者逻辑,是不需要继承lce模块的类和接口的 16 | */ 17 | 18 | public interface RegisterView extends MvpView { 19 | 20 | public void showError(String errMessage); 21 | 22 | public void showProgress(); 23 | 24 | public void registerSuccessful(); 25 | } 26 | -------------------------------------------------------------------------------- /app/src/main/res/values/attrs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 18 | 19 |