├── app ├── .gitignore ├── libs │ └── MiPush_SDK_Client_3_6_9.jar ├── src │ ├── main │ │ ├── res │ │ │ ├── mipmap │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── drawable-xhdpi │ │ │ │ ├── ic_like.png │ │ │ │ ├── qqgroup.png │ │ │ │ ├── ali_full.png │ │ │ │ ├── ic_comment.png │ │ │ │ ├── icon_like.png │ │ │ │ ├── test_avatar.jpg │ │ │ │ ├── test_wallpic.jpg │ │ │ │ ├── wechat_full.png │ │ │ │ ├── campaign_common.png │ │ │ │ ├── comment_praise.9.png │ │ │ │ ├── bg_comment_pressed.png │ │ │ │ ├── ic_insert_emoticon.png │ │ │ │ ├── bg_comment_popup.xml │ │ │ │ └── ic_screen_share_24dp.xml │ │ │ ├── drawable │ │ │ │ ├── star_10_mojie.png │ │ │ │ ├── star_2_jinniu.png │ │ │ │ ├── star_4_juxie.png │ │ │ │ ├── star_5_shizi.png │ │ │ │ ├── star_6_chunv.png │ │ │ │ ├── forward2_light.png │ │ │ │ ├── star_11_shuiping.png │ │ │ │ ├── star_12_shuangyu.png │ │ │ │ ├── star_1_baiyang.png │ │ │ │ ├── star_3_shuangzi.png │ │ │ │ ├── star_7_tiancheng.png │ │ │ │ ├── star_8_tianxie.png │ │ │ │ ├── star_9_sheshou.png │ │ │ │ ├── message_bg.xml │ │ │ │ ├── white_to_gray.xml │ │ │ │ ├── avatar_bg.xml │ │ │ │ ├── to_alpha.xml │ │ │ │ ├── ic_send_blue_24dp.xml │ │ │ │ ├── ic_keyboard_arrow_right_gray_24dp.xml │ │ │ │ ├── ic_plus_one_green_24dp.xml │ │ │ │ ├── ic_trending_up_red_24dp.xml │ │ │ │ ├── ic_arrow_back_white_24dp.xml │ │ │ │ ├── ic_close_white_24dp.xml │ │ │ │ ├── ic_info_green_24dp.xml │ │ │ │ ├── shape_button_red.xml │ │ │ │ ├── shape_rounded_corner_white.xml │ │ │ │ ├── shape_rounded_corner_btn.xml │ │ │ │ ├── shape_rounded_corner_green_1.xml │ │ │ │ ├── ic_check_circle_blue_24dp.xml │ │ │ │ ├── ic_person_blue_1_24dp.xml │ │ │ │ ├── shape_button_blue.xml │ │ │ │ ├── selector_comment_widget.xml │ │ │ │ ├── ic_chat_green_24dp.xml │ │ │ │ ├── selector_check_border.xml │ │ │ │ ├── shape_text_view_border.xml │ │ │ │ ├── ic_system_update_blue_24dp.xml │ │ │ │ ├── ic_favorite_red_24dp.xml │ │ │ │ ├── ic_more_horiz_white_24dp.xml │ │ │ │ ├── ic_account_box_white_24dp.xml │ │ │ │ ├── ic_power_settings_blue_24dp.xml │ │ │ │ ├── ic_account_circle_green_24dp.xml │ │ │ │ ├── ic_nature_people_red_24dp.xml │ │ │ │ ├── selector_button_rounded_corner_clickable.xml │ │ │ │ ├── ic_contact_phone_blue_24dp.xml │ │ │ │ ├── ic_camera_circle_green_24dp.xml │ │ │ │ └── ic_settings_blue_24dp.xml │ │ │ ├── mipmap-hdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── drawable-hdpi │ │ │ │ └── alipay_receive.png │ │ │ ├── drawable-xxxhdpi │ │ │ │ ├── ic_person_blue_500_24dp.png │ │ │ │ ├── ic_explore_blue_500_24dp.png │ │ │ │ ├── ic_message_blue_500_24dp.png │ │ │ │ └── ic_home_light_blue_500_24dp.png │ │ │ ├── values │ │ │ │ ├── dimens_values.xml │ │ │ │ ├── ids.xml │ │ │ │ ├── dimens_font.xml │ │ │ │ └── dimens.xml │ │ │ ├── values-v11 │ │ │ │ └── styles.xml │ │ │ ├── values-w820dp │ │ │ │ ├── dimens.xml │ │ │ │ └── attrs.xml │ │ │ ├── values-v14 │ │ │ │ └── styles.xml │ │ │ ├── layout │ │ │ │ ├── grid_view_star_field.xml │ │ │ │ ├── dialog_progress.xml │ │ │ │ ├── activity_sign_item.xml │ │ │ │ ├── moments_empty_content.xml │ │ │ │ ├── activity_check_in.xml │ │ │ │ ├── activity_photo_browse.xml │ │ │ │ ├── activity_star_character.xml │ │ │ │ ├── grid_view_item.xml │ │ │ │ ├── grid_item_function.xml │ │ │ │ ├── include_moments_header.xml │ │ │ │ ├── moments_only_text.xml │ │ │ │ ├── popup_delete_comment.xml │ │ │ │ ├── activity_main.xml │ │ │ │ └── activity_chat_window.xml │ │ │ ├── values-v19 │ │ │ │ └── styles.xml │ │ │ ├── values-v21 │ │ │ │ └── styles.xml │ │ │ └── menu │ │ │ │ └── navigation.xml │ │ └── java │ │ │ └── com │ │ │ └── appjishu │ │ │ └── starzone │ │ │ ├── constant │ │ │ ├── ResponseCode.java │ │ │ ├── ResponseMsg.java │ │ │ ├── MiscConstant.java │ │ │ ├── CustomConstant.java │ │ │ ├── UserProfileConstant.java │ │ │ ├── FragmentCode.java │ │ │ ├── TianapiConstant.java │ │ │ ├── FunctionKeyTitle.java │ │ │ ├── SystemConstant.java │ │ │ ├── FunctionKey.java │ │ │ ├── StorageConstant.java │ │ │ ├── AboutInfoConstant.java │ │ │ ├── TextConstant.java │ │ │ └── MiSdkConstant.java │ │ │ ├── ui │ │ │ ├── tool │ │ │ │ └── OnRecyclerItemClickListener.java │ │ │ ├── viewholder │ │ │ │ ├── BaseMomentVH.java │ │ │ │ ├── WebMomentsVH.java │ │ │ │ ├── TextOnlyMomentsVH.java │ │ │ │ └── EmptyMomentsVH.java │ │ │ ├── adapter │ │ │ │ └── CircleMomentsAdapter.java │ │ │ └── widget │ │ │ │ └── dialog │ │ │ │ └── ProgressDialog.java │ │ │ ├── config │ │ │ ├── SettingShared.java │ │ │ └── Define.java │ │ │ ├── app │ │ │ ├── mvp │ │ │ │ ├── callback │ │ │ │ │ ├── OnLikeChangeCallback.java │ │ │ │ │ └── OnCommentChangeCallback.java │ │ │ │ ├── presenter │ │ │ │ │ ├── ILikePresenter.java │ │ │ │ │ ├── ICommentPresenter.java │ │ │ │ │ └── IMomentPresenter.java │ │ │ │ └── view │ │ │ │ │ └── IMomentView.java │ │ │ └── manager │ │ │ │ └── ServiceInfoManager.java │ │ │ ├── activity │ │ │ ├── splash │ │ │ │ └── SplashActivity.java │ │ │ └── AboutAppActivity.java │ │ │ ├── model │ │ │ ├── GifData.java │ │ │ ├── Msg.java │ │ │ ├── UserProfileDetail.java │ │ │ ├── SaveImageResult.java │ │ │ ├── Campaign.java │ │ │ ├── FunctionData.java │ │ │ ├── IntroduceVO.java │ │ │ ├── MatchData.java │ │ │ ├── UserScore.java │ │ │ ├── TianapiStar.java │ │ │ ├── TableData.java │ │ │ ├── UserMsg.java │ │ │ ├── LoginResult.java │ │ │ └── ResponseData.java │ │ │ ├── util │ │ │ ├── TianapiUtil.java │ │ │ ├── DateUtil.java │ │ │ ├── ToastUtil.java │ │ │ ├── UserInfoUtil.java │ │ │ ├── MyFileUtil.java │ │ │ ├── Constant.java │ │ │ ├── Md5Util.java │ │ │ ├── ActivityUtil.java │ │ │ ├── KeyboardUtil.java │ │ │ └── APKVersionCodeUtil.java │ │ │ └── singleton │ │ │ ├── GlideRequestOptionsSingleton.java │ │ │ └── GsonSingleton.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── appjishu │ │ └── starzone │ │ └── ApplicationTest.java └── release │ └── output.json ├── circle_base_ui ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ ├── values │ │ │ │ ├── strings.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── ids.xml │ │ │ │ └── colors_values.xml │ │ │ ├── drawable-xhdpi │ │ │ │ ├── arrow.png │ │ │ │ ├── back_left.png │ │ │ │ ├── ic_camera.png │ │ │ │ ├── ic_check.png │ │ │ │ ├── ic_close.png │ │ │ │ ├── loading.png │ │ │ │ ├── arrow_gray.png │ │ │ │ ├── arrow_white.png │ │ │ │ ├── rotate_icon.png │ │ │ │ ├── ic_add_photo.png │ │ │ │ ├── image_nophoto.png │ │ │ │ ├── arrow_gray_bold.png │ │ │ │ ├── round_rect_background_trans_black.xml │ │ │ │ ├── round_rect_background.xml │ │ │ │ ├── common_selector.xml │ │ │ │ ├── red_button_selector.xml │ │ │ │ └── green_button_selector.xml │ │ │ ├── drawable │ │ │ │ ├── bg_popup_progress.xml │ │ │ │ ├── ic_viewpager_dot_indicator_selected.xml │ │ │ │ ├── bg_input_edittext.xml │ │ │ │ ├── ic_viewpager_dot_indicator_normal.xml │ │ │ │ ├── selector_popup.xml │ │ │ │ ├── selector_tx_show_more.xml │ │ │ │ └── bg_send_button.xml │ │ │ ├── layout │ │ │ │ ├── view_ptr_header.xml │ │ │ │ ├── view_recyclerview.xml │ │ │ │ ├── view_ptr_footer.xml │ │ │ │ ├── dialog_progress.xml │ │ │ │ └── popup_progress.xml │ │ │ └── anim │ │ │ │ ├── no_translate.xml │ │ │ │ ├── slide_in_bottom.xml │ │ │ │ ├── slide_out_bottom.xml │ │ │ │ ├── slide_in_left.xml │ │ │ │ ├── slide_in_right.xml │ │ │ │ ├── slide_out_left.xml │ │ │ │ ├── slide_out_right.xml │ │ │ │ └── slide_in_bottom_with_alpha.xml │ │ ├── java │ │ │ └── razerdp │ │ │ │ └── github │ │ │ │ └── com │ │ │ │ └── ui │ │ │ │ ├── widget │ │ │ │ ├── pullrecyclerview │ │ │ │ │ ├── mode │ │ │ │ │ │ ├── Mode.java │ │ │ │ │ │ └── PullMode.java │ │ │ │ │ ├── interfaces │ │ │ │ │ │ └── OnRefreshListener2.java │ │ │ │ │ └── wrapperadapter │ │ │ │ │ │ ├── WrapperRecyclerAdapter.java │ │ │ │ │ │ └── FixedViewInfo.java │ │ │ │ ├── commentwidget │ │ │ │ │ ├── OnCommentUserClickListener.java │ │ │ │ │ └── IComment.java │ │ │ │ └── span │ │ │ │ │ └── SpannableStringBuilderCompat.java │ │ │ │ ├── base │ │ │ │ └── adapter │ │ │ │ │ ├── MultiType.java │ │ │ │ │ ├── BaseAbsViewHolder.java │ │ │ │ │ ├── OnRecyclerViewItemClickListener.java │ │ │ │ │ ├── OnRecyclerViewLongItemClickListener.java │ │ │ │ │ ├── LayoutId.java │ │ │ │ │ └── BaseMultiRecyclerViewHolder.java │ │ │ │ ├── interpolator │ │ │ │ └── SpringInterpolator.java │ │ │ │ └── itemdecoration │ │ │ │ └── GridItemDecoration.java │ │ └── AndroidManifest.xml │ ├── test │ │ └── java │ │ │ └── razerdp │ │ │ └── github │ │ │ └── com │ │ │ └── baseuilib │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── razerdp │ │ └── github │ │ └── com │ │ └── baseuilib │ │ └── ExampleInstrumentedTest.java ├── proguard-rules.pro └── build.gradle ├── circle_common ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ └── values │ │ │ │ └── strings.xml │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── razerdp │ │ │ └── github │ │ │ └── com │ │ │ ├── common │ │ │ ├── constant │ │ │ │ └── PermissionConstant.java │ │ │ ├── MomentsType.java │ │ │ ├── entity │ │ │ │ ├── MomentParam.java │ │ │ │ ├── LikeInfo.java │ │ │ │ ├── photo │ │ │ │ │ └── AlbumInfo.java │ │ │ │ └── other │ │ │ │ │ └── ServiceInfo.java │ │ │ ├── request │ │ │ │ └── SimpleResponseListener.java │ │ │ ├── router │ │ │ │ └── RouterList.java │ │ │ └── model │ │ │ │ └── ResponseData.java │ │ │ └── util │ │ │ └── BmobUrlUtil.java │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── razerdp │ │ │ └── circle_common │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── razerdp │ │ └── circle_common │ │ └── ExampleInstrumentedTest.java ├── proguard-rules.pro └── build.gradle ├── circle_publish ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ └── values │ │ │ │ └── strings.xml │ │ ├── java │ │ │ └── debug │ │ │ │ └── ModuleApplication.java │ │ ├── AndroidManifest.xml │ │ └── debug │ │ │ └── AndroidManifest.xml │ ├── test │ │ └── java │ │ │ └── extramessage │ │ │ └── rekall │ │ │ └── com │ │ │ └── publish │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── extramessage │ │ └── rekall │ │ └── com │ │ └── publish │ │ └── ExampleInstrumentedTest.java └── proguard-rules.pro ├── circle_base_library ├── .gitignore ├── src │ ├── main │ │ ├── assets │ │ │ └── certs │ │ │ │ └── starsign_appjishu.cer │ │ ├── res │ │ │ └── values │ │ │ │ └── ids.xml │ │ ├── java │ │ │ └── razerdp │ │ │ │ └── github │ │ │ │ └── com │ │ │ │ └── lib │ │ │ │ ├── mvp │ │ │ │ ├── IBaseView.java │ │ │ │ └── IBasePresenter.java │ │ │ │ ├── base │ │ │ │ ├── AppjsException.java │ │ │ │ └── BaseModuleApplication.java │ │ │ │ ├── interfaces │ │ │ │ ├── ClearMemoryObject.java │ │ │ │ ├── IPermission.java │ │ │ │ ├── adapter │ │ │ │ │ └── TextWatcherAdapter.java │ │ │ │ ├── OnPermissionGrantListener.java │ │ │ │ ├── SingleClickListener.java │ │ │ │ └── MultiClickListener.java │ │ │ │ ├── constant │ │ │ │ └── StorageConstant.java │ │ │ │ ├── manager │ │ │ │ ├── localphoto │ │ │ │ │ └── LPException.java │ │ │ │ └── compress │ │ │ │ │ └── OnCompressListener.java │ │ │ │ ├── network │ │ │ │ ├── base │ │ │ │ │ └── OnResponseListener.java │ │ │ │ └── ssl │ │ │ │ │ └── HttpsModel.java │ │ │ │ ├── helper │ │ │ │ └── PermissionHelperCompat.java │ │ │ │ └── utils │ │ │ │ ├── SimpleObjectPool.java │ │ │ │ └── StringUtil.java │ │ └── AndroidManifest.xml │ ├── test │ │ └── java │ │ │ └── razerdp │ │ │ └── github │ │ │ └── com │ │ │ └── baselibrary │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── razerdp │ │ └── github │ │ └── com │ │ └── baselibrary │ │ └── ExampleInstrumentedTest.java └── proguard-rules.pro ├── circle_photoselect ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ ├── values │ │ │ │ └── strings.xml │ │ │ ├── drawable-xhdpi │ │ │ │ └── photo_count_bg.xml │ │ │ └── layout │ │ │ │ ├── frag_photo_album.xml │ │ │ │ ├── activity_photoselect.xml │ │ │ │ └── item_photo_select.xml │ │ ├── java │ │ │ ├── debug │ │ │ │ └── ModuleApplication.java │ │ │ └── razerdp │ │ │ │ └── github │ │ │ │ └── com │ │ │ │ └── bus │ │ │ │ └── EventSelectAlbum.java │ │ └── AndroidManifest.xml │ ├── test │ │ └── java │ │ │ └── razerdp │ │ │ └── github │ │ │ └── com │ │ │ └── photoselect │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── razerdp │ │ └── github │ │ └── com │ │ └── photoselect │ │ └── ExampleInstrumentedTest.java └── proguard-rules.pro ├── qqgroup.png ├── gradle.properties ├── doc └── image │ ├── poster-1.png │ ├── poster-2.png │ ├── poster-3.png │ └── ic_custom_app.png ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── circle_photoview ├── src │ └── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ └── uk │ │ └── co │ │ └── senab │ │ └── photoview │ │ ├── gestures │ │ ├── OnGestureListener.java │ │ └── GestureDetector.java │ │ ├── scrollerproxy │ │ └── IcsScroller.java │ │ └── log │ │ ├── LogManager.java │ │ └── Logger.java └── build.gradle ├── settings.gradle ├── .idea ├── vcs.xml ├── runConfigurations.xml └── modules.xml ├── README.md ├── config.gradle └── .gitignore /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /circle_base_ui/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /circle_common/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /circle_publish/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /circle_base_library/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /circle_photoselect/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /qqgroup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/qqgroup.png -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/gradle.properties -------------------------------------------------------------------------------- /doc/image/poster-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/doc/image/poster-1.png -------------------------------------------------------------------------------- /doc/image/poster-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/doc/image/poster-2.png -------------------------------------------------------------------------------- /doc/image/poster-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/doc/image/poster-3.png -------------------------------------------------------------------------------- /doc/image/ic_custom_app.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/doc/image/ic_custom_app.png -------------------------------------------------------------------------------- /circle_publish/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | publish 3 | 4 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /app/libs/MiPush_SDK_Client_3_6_9.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/libs/MiPush_SDK_Client_3_6_9.jar -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | BaseUiLib 3 | 4 | -------------------------------------------------------------------------------- /circle_common/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | circle_common 3 | 4 | -------------------------------------------------------------------------------- /circle_photoselect/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | photoselect 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/mipmap/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_like.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/drawable-xhdpi/ic_like.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/qqgroup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/drawable-xhdpi/qqgroup.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/star_10_mojie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/drawable/star_10_mojie.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/star_2_jinniu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/drawable/star_2_jinniu.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/star_4_juxie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/drawable/star_4_juxie.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/star_5_shizi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/drawable/star_5_shizi.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/star_6_chunv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/drawable/star_6_chunv.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ali_full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/drawable-xhdpi/ali_full.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_comment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/drawable-xhdpi/ic_comment.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/icon_like.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/drawable-xhdpi/icon_like.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/forward2_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/drawable/forward2_light.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/star_11_shuiping.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/drawable/star_11_shuiping.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/star_12_shuangyu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/drawable/star_12_shuangyu.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/star_1_baiyang.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/drawable/star_1_baiyang.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/star_3_shuangzi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/drawable/star_3_shuangzi.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/star_7_tiancheng.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/drawable/star_7_tiancheng.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/star_8_tianxie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/drawable/star_8_tianxie.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/star_9_sheshou.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/drawable/star_9_sheshou.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/mipmap/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/test_avatar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/drawable-xhdpi/test_avatar.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/test_wallpic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/drawable-xhdpi/test_wallpic.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/wechat_full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/drawable-xhdpi/wechat_full.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /circle_photoview/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app', ':circle_base_library', ':circle_base_ui', ':circle_photoview', ':circle_photoselect', ':circle_publish', ':circle_common' 2 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/alipay_receive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/drawable-hdpi/alipay_receive.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/campaign_common.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/drawable-xhdpi/campaign_common.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/comment_praise.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/drawable-xhdpi/comment_praise.9.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/drawable-xhdpi/arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/circle_base_ui/src/main/res/drawable-xhdpi/arrow.png -------------------------------------------------------------------------------- /circle_common/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/bg_comment_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/drawable-xhdpi/bg_comment_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_insert_emoticon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/drawable-xhdpi/ic_insert_emoticon.png -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/drawable-xhdpi/back_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/circle_base_ui/src/main/res/drawable-xhdpi/back_left.png -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/drawable-xhdpi/ic_camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/circle_base_ui/src/main/res/drawable-xhdpi/ic_camera.png -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/drawable-xhdpi/ic_check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/circle_base_ui/src/main/res/drawable-xhdpi/ic_check.png -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/drawable-xhdpi/ic_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/circle_base_ui/src/main/res/drawable-xhdpi/ic_close.png -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/drawable-xhdpi/loading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/circle_base_ui/src/main/res/drawable-xhdpi/loading.png -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/drawable-xhdpi/arrow_gray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/circle_base_ui/src/main/res/drawable-xhdpi/arrow_gray.png -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/drawable-xhdpi/arrow_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/circle_base_ui/src/main/res/drawable-xhdpi/arrow_white.png -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/drawable-xhdpi/rotate_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/circle_base_ui/src/main/res/drawable-xhdpi/rotate_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_person_blue_500_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/drawable-xxxhdpi/ic_person_blue_500_24dp.png -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/drawable-xhdpi/ic_add_photo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/circle_base_ui/src/main/res/drawable-xhdpi/ic_add_photo.png -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/drawable-xhdpi/image_nophoto.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/circle_base_ui/src/main/res/drawable-xhdpi/image_nophoto.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_explore_blue_500_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/drawable-xxxhdpi/ic_explore_blue_500_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_message_blue_500_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/drawable-xxxhdpi/ic_message_blue_500_24dp.png -------------------------------------------------------------------------------- /circle_base_library/src/main/assets/certs/starsign_appjishu.cer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/circle_base_library/src/main/assets/certs/starsign_appjishu.cer -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/drawable-xhdpi/arrow_gray_bold.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/circle_base_ui/src/main/res/drawable-xhdpi/arrow_gray_bold.png -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/constant/ResponseCode.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.constant; 2 | 3 | public class ResponseCode { 4 | public static final int OK = 0; 5 | } 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_home_light_blue_500_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootsrc/star-zone-android/HEAD/app/src/main/res/drawable-xxxhdpi/ic_home_light_blue_500_24dp.png -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/constant/ResponseMsg.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.constant; 2 | 3 | public class ResponseMsg { 4 | public static final String OK = "OK"; 5 | } 6 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /circle_base_library/src/main/res/values/ids.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 40dp 5 | -------------------------------------------------------------------------------- /app/src/main/res/values/dimens_values.xml: -------------------------------------------------------------------------------- 1 | 2 | 300dp 3 | 40dp 4 | 40dp 5 | 6 | -------------------------------------------------------------------------------- /circle_common/src/main/java/com/razerdp/github/com/common/constant/PermissionConstant.java: -------------------------------------------------------------------------------- 1 | package com.razerdp.github.com.common.constant; 2 | 3 | public class PermissionConstant { 4 | public static final int OWN_PERMISSION = 0x01; 5 | } 6 | -------------------------------------------------------------------------------- /app/src/main/res/values/ids.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/release/output.json: -------------------------------------------------------------------------------- 1 | [{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.0","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}] -------------------------------------------------------------------------------- /circle_base_library/src/main/java/razerdp/github/com/lib/mvp/IBaseView.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.lib.mvp; 2 | 3 | /** 4 | * Created by liushaoming on 2016/12/7. 5 | * 6 | * view基类接口 7 | */ 8 | 9 | public interface IBaseView { 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/constant/MiscConstant.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.constant; 2 | 3 | public class MiscConstant { 4 | public static final String DEFAULT_HEAD_IMG = "/star-sign-file/mobile/default-img/default-mobile-head.png"; 5 | } 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/message_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/ui/tool/OnRecyclerItemClickListener.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.ui.tool; 2 | 3 | import android.view.View; 4 | 5 | public interface OnRecyclerItemClickListener { 6 | void onRecyclerItemClick(View v, int position, T data); 7 | } 8 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/constant/CustomConstant.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.constant; 2 | 3 | public class CustomConstant { 4 | public static final String COVER_DEMO = "http://d.hiphotos.baidu.com/zhidao/pic/item/bf096b63f6246b601ffeb44be9f81a4c510fa218.jpg"; 5 | } 6 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/java/razerdp/github/com/ui/widget/pullrecyclerview/mode/Mode.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.ui.widget.pullrecyclerview.mode; 2 | 3 | /** 4 | * Created by liushaoming on 2017/11/8. 5 | */ 6 | 7 | public enum Mode { 8 | REFRESH, BOTH, LOADMORE 9 | } 10 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Thu Mar 29 14:57:45 CST 2018 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-4.4-all.zip 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/white_to_gray.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/java/razerdp/github/com/ui/base/adapter/MultiType.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.ui.base.adapter; 2 | 3 | /** 4 | * Created by liushaoming on 2018/4/10. 5 | *

6 | * multitype 7 | */ 8 | public interface MultiType { 9 | 10 | int getItemType(); 11 | 12 | } 13 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/java/razerdp/github/com/ui/widget/pullrecyclerview/mode/PullMode.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.ui.widget.pullrecyclerview.mode; 2 | 3 | /** 4 | * Created by liushaoming on 2017/11/8. 5 | */ 6 | 7 | public enum PullMode { 8 | NONE, FROM_START, FROM_BOTTOM 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/constant/UserProfileConstant.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.constant; 2 | 3 | public class UserProfileConstant { 4 | public static final int SEX_UNSELECTED = 0; 5 | public static final int SEX_MALE = 1; 6 | public static final int SEX_FEMALE = 2; 7 | } 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/avatar_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/constant/FragmentCode.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.constant; 2 | 3 | public class FragmentCode { 4 | public static final int HOME = 0; 5 | public static final int FIND =1; 6 | public static final int MSG =2; 7 | public static final int MINE = 10; 8 | } 9 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/constant/TianapiConstant.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.constant; 2 | 3 | public class TianapiConstant { 4 | public static final String URL = "http://api.tianapi.com/txapi/xingzuo/"; 5 | public static final String APIKEY = "c0a91f5aed0f701476bbccd893437e2f"; 6 | } 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/bg_comment_popup.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/drawable/bg_popup_progress.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/drawable/ic_viewpager_dot_indicator_selected.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/config/SettingShared.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.config; 2 | 3 | import android.app.Activity; 4 | 5 | public class SettingShared { 6 | public static boolean isEnableThemeDark(Activity activity) { 7 | // return false; 8 | return true; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/java/razerdp/github/com/ui/base/adapter/BaseAbsViewHolder.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.ui.base.adapter; 2 | 3 | import android.view.View; 4 | 5 | /** 6 | * Created by liushaoming on 2016/11/9. 7 | */ 8 | 9 | public interface BaseAbsViewHolder { 10 | void onInFlate(View v); 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/to_alpha.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /circle_base_library/src/main/java/razerdp/github/com/lib/base/AppjsException.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.lib.base; 2 | 3 | public class AppjsException extends Exception { 4 | public AppjsException() { 5 | 6 | } 7 | 8 | public AppjsException(String message){ 9 | super(message); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/drawable/bg_input_edittext.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/drawable/ic_viewpager_dot_indicator_normal.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /circle_publish/src/main/java/debug/ModuleApplication.java: -------------------------------------------------------------------------------- 1 | package debug; 2 | 3 | import razerdp.github.com.lib.base.BaseModuleApplication; 4 | 5 | /** 6 | * Created by liushaoming on 2017/3/22. 7 | *

8 | * module的application 9 | */ 10 | 11 | public class ModuleApplication extends BaseModuleApplication { 12 | } 13 | -------------------------------------------------------------------------------- /circle_base_library/src/main/java/razerdp/github/com/lib/interfaces/ClearMemoryObject.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.lib.interfaces; 2 | 3 | /** 4 | * Created by liushaoming on 2017/4/1. 5 | *

6 | * 标记清除用的obj 7 | */ 8 | 9 | public interface ClearMemoryObject { 10 | 11 | void clearMemroy(boolean setNull); 12 | } 13 | -------------------------------------------------------------------------------- /circle_photoselect/src/main/java/debug/ModuleApplication.java: -------------------------------------------------------------------------------- 1 | package debug; 2 | 3 | import razerdp.github.com.lib.base.BaseModuleApplication; 4 | 5 | /** 6 | * Created by liushaoming on 2017/3/22. 7 | *

8 | * module的application 9 | */ 10 | 11 | public class ModuleApplication extends BaseModuleApplication { 12 | } 13 | -------------------------------------------------------------------------------- /circle_photoselect/src/main/res/drawable-xhdpi/photo_count_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /circle_base_library/src/main/java/razerdp/github/com/lib/interfaces/IPermission.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.lib.interfaces; 2 | 3 | 4 | import razerdp.github.com.lib.helper.PermissionHelper; 5 | 6 | /** 7 | * Created by liushaoming on 2018/3/5. 8 | */ 9 | public interface IPermission { 10 | PermissionHelper getPermissionHelper(); 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_send_blue_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/app/mvp/callback/OnLikeChangeCallback.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.app.mvp.callback; 2 | 3 | /** 4 | * Created by liushaoming on 2016/12/7. 5 | *

6 | * 点赞callback 7 | */ 8 | 9 | public interface OnLikeChangeCallback { 10 | 11 | void onLike(String likeinfoid); 12 | 13 | void onUnLike(); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/java/razerdp/github/com/ui/base/adapter/OnRecyclerViewItemClickListener.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.ui.base.adapter; 2 | 3 | import android.view.View; 4 | 5 | /** 6 | * Created by liushaoming on 2016/11/1. 7 | */ 8 | 9 | public interface OnRecyclerViewItemClickListener { 10 | void onItemClick(View v, int position, T data); 11 | } 12 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/java/razerdp/github/com/ui/widget/pullrecyclerview/interfaces/OnRefreshListener2.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.ui.widget.pullrecyclerview.interfaces; 2 | 3 | /** 4 | * Created by liushaoming on 2016/10/29. 5 | * 6 | * 下拉和上拉的回调 7 | */ 8 | 9 | public interface OnRefreshListener2 { 10 | void onRefresh(); 11 | void onLoadMore(); 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_keyboard_arrow_right_gray_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /circle_base_library/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/java/razerdp/github/com/ui/base/adapter/OnRecyclerViewLongItemClickListener.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.ui.base.adapter; 2 | 3 | import android.view.View; 4 | 5 | /** 6 | * Created by liushaoming on 2016/11/1. 7 | * 8 | */ 9 | 10 | public interface OnRecyclerViewLongItemClickListener { 11 | boolean onItemLongClick(View v, int position, T data); 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/res/values-v11/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/values/dimens_font.xml: -------------------------------------------------------------------------------- 1 | 2 | 20sp 3 | 16sp 4 | 14sp 5 | 12sp 6 | 10sp 7 | 8sp 8 | 9 | 10 | 18sp 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_plus_one_green_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_trending_up_red_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_arrow_back_white_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/java/razerdp/github/com/ui/widget/pullrecyclerview/wrapperadapter/WrapperRecyclerAdapter.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.ui.widget.pullrecyclerview.wrapperadapter; 2 | 3 | import android.support.v7.widget.RecyclerView; 4 | 5 | /** 6 | * Created by liushaoming on 2017/3/15. 7 | */ 8 | 9 | public interface WrapperRecyclerAdapter { 10 | 11 | RecyclerView.Adapter getWrappedAdapter(); 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/constant/FunctionKeyTitle.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.constant; 2 | 3 | public class FunctionKeyTitle { 4 | public static final String STAR_DEFINITION = "十二星座"; 5 | public static final String CHECK_IN = "签到"; 6 | public static final String SCORE = "积分/等级"; 7 | public static final String MATCH = "星座匹配"; 8 | public static final String CAMPAIGN = "活动"; 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_close_white_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /circle_base_library/src/main/java/razerdp/github/com/lib/constant/StorageConstant.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.lib.constant; 2 | 3 | public class StorageConstant { 4 | public static final String SHARED_PREFERENCES_NAME_PASSPORT = "loginToken"; 5 | public static final String SHARED_PREFERENCES_NAME_FILE_STORAGE = "file_storage"; 6 | public static final String SHARED_PREFERENCES_NAME_FILE_USER_INFO = "userInfo"; 7 | } 8 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/constant/SystemConstant.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.constant; 2 | 3 | public class SystemConstant { 4 | public static final String FUNCTION_DEVELOPING = "功能开发中..."; 5 | public static final String PHOTOS_SAVED_PATH = "star-zone"; 6 | public static final String PERMISSION_SETTINGS_TIP = "相机和相册权限需要你手动开启,否则无法使用相关功能"; 7 | public static final String NETWORK_STATE_BAD = "网络不好"; 8 | } 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_info_green_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/drawable-xhdpi/round_rect_background_trans_black.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/constant/FunctionKey.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.constant; 2 | 3 | public class FunctionKey { 4 | public static final String STAR_DEFINITION = "STAR_DEFINITION"; 5 | public static final String CHECK_IN = "CHECK_IN"; 6 | public static final String SCORE = "SCORE"; 7 | public static final String MATCH = "MATCH"; 8 | public static final String CAMPAIGN = "CAMPAIGN"; 9 | } 10 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/java/razerdp/github/com/ui/widget/commentwidget/OnCommentUserClickListener.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.ui.widget.commentwidget; 2 | 3 | import android.support.annotation.NonNull; 4 | 5 | /** 6 | * Created by liushaoming on 2017/11/17. 7 | *

8 | * 评论控件点击 9 | */ 10 | 11 | public interface OnCommentUserClickListener { 12 | void onCommentClicked(@NonNull IComment comment,CharSequence text); 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_button_red.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_rounded_corner_white.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_rounded_corner_btn.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_rounded_corner_green_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/drawable-xhdpi/round_rect_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_check_circle_blue_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_person_blue_1_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_button_blue.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 10 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/java/razerdp/github/com/ui/widget/commentwidget/IComment.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.ui.widget.commentwidget; 2 | 3 | /** 4 | * Created by liushaoming on 2017/11/17. 5 | */ 6 | 7 | public interface IComment { 8 | 9 | /**评论创建者*/ 10 | String getCommentCreatorName(); 11 | /**评论回复人*/ 12 | String getReplyerName(); 13 | /**评论内容*/ 14 | String getCommentContent(); 15 | 16 | T getData(); 17 | 18 | } 19 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/layout/view_ptr_header.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 10 | -------------------------------------------------------------------------------- /app/src/androidTest/java/com/appjishu/starzone/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /app/src/main/res/values-v14/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /circle_base_library/src/main/java/razerdp/github/com/lib/manager/localphoto/LPException.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.lib.manager.localphoto; 2 | 3 | /** 4 | * Created by liushaoming on 2017/3/23. 5 | */ 6 | 7 | public class LPException extends Exception { 8 | 9 | public LPException(String r) { 10 | this(r, null); 11 | } 12 | 13 | public LPException(String message, Exception cause) { 14 | super(message, cause); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /circle_common/src/main/java/com/razerdp/github/com/common/MomentsType.java: -------------------------------------------------------------------------------- 1 | package com.razerdp.github.com.common; 2 | 3 | /** 4 | * Created by liushaoming on 2016/10/28. 5 | *

6 | * 朋友圈类型 7 | */ 8 | 9 | public interface MomentsType { 10 | //空内容,容错用 11 | int EMPTY_CONTENT = 0; 12 | //纯文字 13 | int TEXT_ONLY = 1; 14 | //多图 15 | int MULTI_IMAGES = 2; 16 | //网页 17 | int WEB = 4; 18 | // TODO: 2016/10/29 增加视频类型,广告类型等 19 | } 20 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/activity/splash/SplashActivity.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.activity.splash; 2 | 3 | 4 | import android.content.Intent; 5 | 6 | import razerdp.github.com.lib.base.BaseActivity; 7 | 8 | /** 9 | * Created by liushaoming on 2016/10/28. 10 | * 11 | * 闪屏页 12 | */ 13 | 14 | public class SplashActivity extends BaseActivity { 15 | @Override 16 | public void onHandleIntent(Intent intent) { 17 | 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/selector_comment_widget.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 11 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/app/mvp/callback/OnCommentChangeCallback.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.app.mvp.callback; 2 | 3 | 4 | import com.razerdp.github.com.common.entity.CommentInfo; 5 | 6 | /** 7 | * Created by liushaoming on 2016/12/9. 8 | *

9 | * 评论Callback 10 | */ 11 | 12 | public interface OnCommentChangeCallback { 13 | 14 | void onAddComment(CommentInfo response); 15 | 16 | void onDeleteComment(String response); 17 | 18 | } 19 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_chat_green_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /circle_base_library/src/main/java/razerdp/github/com/lib/mvp/IBasePresenter.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.lib.mvp; 2 | 3 | /** 4 | * Created by liushaoming on 2016/12/7. 5 | *

6 | * presenter基类接口 7 | */ 8 | 9 | public interface IBasePresenter { 10 | 11 | /** 12 | * 绑定view 13 | */ 14 | IBasePresenter bindView(V view); 15 | 16 | /** 17 | * 取消绑定 18 | */ 19 | IBasePresenter unbindView(); 20 | 21 | } 22 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/drawable/selector_popup.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 11 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/constant/StorageConstant.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.constant; 2 | 3 | public class StorageConstant { 4 | public static final String SHARED_PREFERENCES_NAME_PASSPORT = "loginToken"; 5 | public static final String SHARED_PREFERENCES_NAME_FILE_STORAGE = "fileStorage"; 6 | public static final String SHARED_PREFERENCES_NAME_FILE_USER_INFO = "userInfo"; 7 | public static final String SHARED_PREFERENCES_NAME_MIPUSH = "miPush"; 8 | } 9 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/ui/viewholder/BaseMomentVH.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.ui.viewholder; 2 | 3 | import android.support.annotation.NonNull; 4 | import android.view.View; 5 | 6 | /** 7 | * Created by liushaoming on 2016/11/1. 8 | * 9 | * 抽象出的vh接口 10 | */ 11 | 12 | public interface BaseMomentVH { 13 | 14 | void onFindView(@NonNull View rootView); 15 | 16 | void onBindDataToView(@NonNull final T data,int position,int viewType); 17 | } 18 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/selector_check_border.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_text_view_border.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/drawable-xhdpi/common_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_system_update_blue_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/drawable/selector_tx_show_more.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/layout/grid_view_star_field.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_favorite_red_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/constant/AboutInfoConstant.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.constant; 2 | 3 | public class AboutInfoConstant { 4 | public static final String PORTAL_WEBSITE= "http://appjishu.com"; 5 | public static final String ABOUT_APP_INTRODUCE = "这是一款基于十二星座的社区交友类App。 \n" + 6 | "【十二星座】全面解读属于你的星座运势。 \n" + 7 | "【星座配对】查询情侣双方的星座匹配系数,幽默分析情侣系数。 \n" + 8 | "【朋友圈】可以发布自己的生活动态,发布精彩生活照片,点赞和评论。 \n" + 9 | "【聊天】跟感兴趣的朋友发消息聊天,实时文字互动。\n\n"; 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_more_horiz_white_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_account_box_white_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /circle_common/src/test/java/com/razerdp/circle_common/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.razerdp.circle_common; 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-xhdpi/ic_screen_share_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /circle_base_library/src/test/java/razerdp/github/com/baselibrary/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.lib; 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 | } -------------------------------------------------------------------------------- /circle_base_ui/src/test/java/razerdp/github/com/baseuilib/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.baseuilib; 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 | } -------------------------------------------------------------------------------- /circle_photoselect/src/test/java/razerdp/github/com/photoselect/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.photoselect; 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 | } -------------------------------------------------------------------------------- /circle_publish/src/test/java/extramessage/rekall/com/publish/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package extramessage.rekall.com.publish; 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/ic_power_settings_blue_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/values/ids.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/model/GifData.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.model; 2 | 3 | public class GifData { 4 | private String url; 5 | private boolean preloaded = false; 6 | 7 | public String getUrl() { 8 | return url; 9 | } 10 | 11 | public void setUrl(String url) { 12 | this.url = url; 13 | } 14 | 15 | public boolean isPreloaded() { 16 | return preloaded; 17 | } 18 | 19 | public void setPreloaded(boolean preloaded) { 20 | this.preloaded = preloaded; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/model/Msg.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.model; 2 | 3 | public class Msg { 4 | public static final int TYPE_RECEIVED = 0; 5 | public static final int TYPE_SENT = 1; 6 | private String content; 7 | private int type; 8 | 9 | public Msg(String content, int type) { 10 | this.content = content; 11 | this.type = type; 12 | } 13 | 14 | public String getContent() { 15 | return content; 16 | } 17 | 18 | public int getType() { 19 | return type; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/constant/TextConstant.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.constant; 2 | 3 | public class TextConstant { 4 | public static final String WHY_DONATE_ANSWER = "此App由一名热心程序员利用空余时间,经" + 5 | "过很多天的艰苦编程开发出来的。包含系统后台程序和安卓App的开发。致力于开发一个基于" + 6 | "星座的社交类应用,提供免费的星座分析,恋爱咨询。\n" 7 | + "App和网站程序的开发和维护,文章的编辑都需要消耗一定的资金和大量的时间精力。如果感觉App有用," + 8 | "欢迎用支付宝/微信打赏。谢谢!"; 9 | 10 | public static final String UPGRADE_INFO = "发送链接到QQ/微信,点击链接即可下载最新版-星座空间。" + 11 | "\n或者复制链接到浏览器中打开,下载App"; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/app/mvp/presenter/ILikePresenter.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.app.mvp.presenter; 2 | 3 | import com.appjishu.starzone.app.mvp.callback.OnLikeChangeCallback; 4 | 5 | /** 6 | * Created by liushaoming on 2016/12/6. 7 | */ 8 | 9 | public interface ILikePresenter { 10 | 11 | 12 | /** 13 | * 添加点赞 14 | */ 15 | void addLike(long momentid, OnLikeChangeCallback onLikeChangeCallback); 16 | 17 | /** 18 | * 移除点赞 19 | */ 20 | void unLike(long momentid, OnLikeChangeCallback onLikeChangeCallback); 21 | } 22 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_account_circle_green_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_nature_people_red_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /circle_photoselect/src/main/java/razerdp/github/com/bus/EventSelectAlbum.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.bus; 2 | 3 | /** 4 | * Created by liushaoming on 2017/3/29. 5 | *

6 | * 选择相册的event 7 | */ 8 | 9 | public class EventSelectAlbum { 10 | private String albumName; 11 | 12 | public EventSelectAlbum(String albumName) { 13 | this.albumName = albumName; 14 | } 15 | 16 | public String getAlbumName() { 17 | return albumName; 18 | } 19 | 20 | public void setAlbumName(String albumName) { 21 | this.albumName = albumName; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/model/UserProfileDetail.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.model; 2 | 3 | public class UserProfileDetail extends UserProfile { 4 | private int checkInCount; 5 | private int score; 6 | 7 | public int getCheckInCount() { 8 | return checkInCount; 9 | } 10 | 11 | public void setCheckInCount(int checkInCount) { 12 | this.checkInCount = checkInCount; 13 | } 14 | 15 | public int getScore() { 16 | return score; 17 | } 18 | 19 | public void setScore(int score) { 20 | this.score = score; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/util/TianapiUtil.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.util; 2 | 3 | import com.appjishu.starzone.constant.StarSignConstant; 4 | import com.appjishu.starzone.constant.TianapiConstant; 5 | 6 | public class TianapiUtil { 7 | public static String getUrl(int meValue, int heValue) { 8 | String me = StarSignConstant.arrText[meValue]; 9 | String he = StarSignConstant.arrText[heValue]; 10 | String url = TianapiConstant.URL + "?key=" + TianapiConstant.APIKEY + "&me=" 11 | + me + "&he="+ he; 12 | return url; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/model/SaveImageResult.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.model; 2 | 3 | public class SaveImageResult { 4 | private boolean success; 5 | private String absolutePath; 6 | 7 | public boolean isSuccess() { 8 | return success; 9 | } 10 | 11 | public void setSuccess(boolean success) { 12 | this.success = success; 13 | } 14 | 15 | public String getAbsolutePath() { 16 | return absolutePath; 17 | } 18 | 19 | public void setAbsolutePath(String absolutePath) { 20 | this.absolutePath = absolutePath; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/layout/view_recyclerview.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/util/DateUtil.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.util; 2 | 3 | import java.text.SimpleDateFormat; 4 | import java.util.Date; 5 | 6 | public class DateUtil { 7 | public static final SimpleDateFormat DEFAULT_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:dd"); 8 | 9 | public static String getDateString(Date date) { 10 | if (date == null) { 11 | return ""; 12 | } 13 | try { 14 | return DEFAULT_FORMAT.format(date).trim(); 15 | } 16 | catch (Exception e) { 17 | return ""; 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/constant/MiSdkConstant.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.constant; 2 | 3 | public class MiSdkConstant { 4 | // user your appid the key. 5 | public static final String APP_ID = ""; 6 | // user your appid the key. 7 | public static final String APP_KEY = ""; 8 | 9 | public static final String TOPIC_ALL = "ALL"; 10 | 11 | public static final String EXTRA_KEY_PUSH_TYPE = "PUSH_TYPE"; 12 | public static final String EXTRA_KEY_DATA = "DATA"; 13 | public static final String PUSH_TYPE_CHAT = "CHAT"; 14 | public static final String PUSH_TYPE_NOTICE = "NOTICE"; 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/selector_button_rounded_corner_clickable.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/java/razerdp/github/com/ui/base/adapter/LayoutId.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.ui.base.adapter; 2 | 3 | import android.support.annotation.LayoutRes; 4 | 5 | import java.lang.annotation.Documented; 6 | import java.lang.annotation.ElementType; 7 | import java.lang.annotation.Retention; 8 | import java.lang.annotation.RetentionPolicy; 9 | import java.lang.annotation.Target; 10 | 11 | /** 12 | * Created by liushaoming on 2018/4/10. 13 | */ 14 | @Target(ElementType.TYPE) 15 | @Documented 16 | @Retention(RetentionPolicy.RUNTIME) 17 | public @interface LayoutId { 18 | 19 | @LayoutRes 20 | int id(); 21 | } 22 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/drawable/bg_send_button.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /circle_photoselect/src/main/res/layout/frag_photo_album.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/model/Campaign.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.model; 2 | 3 | import java.io.Serializable; 4 | 5 | public class Campaign implements Serializable { 6 | private static final long serialVersionUID = -4046949183638958201L; 7 | private String text; 8 | private int readCount; 9 | 10 | public String getText() { 11 | return text; 12 | } 13 | 14 | public void setText(String text) { 15 | this.text = text; 16 | } 17 | 18 | public int getReadCount() { 19 | return readCount; 20 | } 21 | 22 | public void setReadCount(int readCount) { 23 | this.readCount = readCount; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /circle_publish/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 9 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/config/Define.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.config; 2 | 3 | import android.support.annotation.IntDef; 4 | 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.RetentionPolicy; 7 | 8 | /** 9 | * Created by liushaoming on 2016/10/27. 10 | *

11 | * 常量定义 12 | */ 13 | @Retention(RetentionPolicy.SOURCE) 14 | public @interface Define { 15 | 16 | String BMOB_APPID = "7fc6618e5572b09c6055ef4d53d0017a"; 17 | 18 | 19 | @Retention(RetentionPolicy.SOURCE) 20 | @IntDef({LikeState.LIKE, LikeState.UNLIKE}) 21 | @interface LikeState { 22 | int LIKE = 0x10; 23 | int UNLIKE = 0x11; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /circle_base_library/src/main/java/razerdp/github/com/lib/base/BaseModuleApplication.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.lib.base; 2 | 3 | import android.app.Application; 4 | 5 | import razerdp.github.com.lib.api.AppContext; 6 | import razerdp.github.com.lib.manager.localphoto.LocalPhotoManager; 7 | 8 | /** 9 | * Created by liushaoming on 2017/4/1. 10 | *

11 | * module的application父类..主要用来初始ARouter等 12 | */ 13 | 14 | public class BaseModuleApplication extends Application { 15 | 16 | @Override 17 | public void onCreate() { 18 | super.onCreate(); 19 | AppContext.initARouter(); 20 | LocalPhotoManager.INSTANCE.registerContentObserver(null); 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /circle_base_library/src/main/java/razerdp/github/com/lib/interfaces/adapter/TextWatcherAdapter.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.lib.interfaces.adapter; 2 | 3 | import android.text.Editable; 4 | import android.text.TextWatcher; 5 | 6 | /** 7 | * Created by liushaoming on 2017/10/12. 8 | */ 9 | 10 | public abstract class TextWatcherAdapter implements TextWatcher { 11 | @Override 12 | public void beforeTextChanged(CharSequence s, int start, int count, int after) { 13 | 14 | } 15 | 16 | @Override 17 | public void onTextChanged(CharSequence s, int start, int before, int count) { 18 | 19 | } 20 | 21 | @Override 22 | public void afterTextChanged(Editable s) { 23 | 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/model/FunctionData.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.model; 2 | 3 | public class FunctionData { 4 | private String key; 5 | private String text; 6 | private int resId; 7 | 8 | public String getKey() { 9 | return key; 10 | } 11 | 12 | public void setKey(String key) { 13 | this.key = key; 14 | } 15 | 16 | public String getText() { 17 | return text; 18 | } 19 | 20 | public void setText(String text) { 21 | this.text = text; 22 | } 23 | 24 | public int getResId() { 25 | return resId; 26 | } 27 | 28 | public void setResId(int resId) { 29 | this.resId = resId; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /app/src/main/res/layout/dialog_progress.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /app/src/main/res/values-v19/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/java/razerdp/github/com/ui/interpolator/SpringInterpolator.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.ui.interpolator; 2 | 3 | import android.view.animation.LinearInterpolator; 4 | 5 | /** 6 | * Created by liushaoming on 2017/3/24. 7 | */ 8 | 9 | public class SpringInterpolator extends LinearInterpolator { 10 | private float factor; 11 | 12 | public SpringInterpolator() { 13 | factor = 0.4f; 14 | } 15 | 16 | public SpringInterpolator(float factor) { 17 | this.factor = factor; 18 | } 19 | 20 | @Override 21 | public float getInterpolation(float input) { 22 | return (float) (Math.pow(2, -10 * input) * Math.sin((input - factor / 4) * (2 * Math.PI) / factor) + 1); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_contact_phone_blue_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /circle_common/src/main/java/com/razerdp/github/com/common/entity/MomentParam.java: -------------------------------------------------------------------------------- 1 | package com.razerdp.github.com.common.entity; 2 | 3 | import java.io.Serializable; 4 | import java.util.List; 5 | 6 | public class MomentParam implements Serializable { 7 | private static final long serialVersionUID = 3437784549256436639L; 8 | private List img; 9 | private String content; 10 | 11 | public List getImg() { 12 | return img; 13 | } 14 | 15 | public void setImg(List img) { 16 | this.img = img; 17 | } 18 | 19 | public String getContent() { 20 | return content; 21 | } 22 | 23 | public void setContent(String content) { 24 | this.content = content; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /circle_common/src/main/java/com/razerdp/github/com/common/request/SimpleResponseListener.java: -------------------------------------------------------------------------------- 1 | package com.razerdp.github.com.common.request; 2 | 3 | import razerdp.github.com.lib.base.AppjsException; 4 | import razerdp.github.com.lib.network.base.OnResponseListener; 5 | import razerdp.github.com.ui.util.UIHelper; 6 | 7 | /** 8 | * Created by liushaoming on 2016/10/28. 9 | */ 10 | 11 | public abstract class SimpleResponseListener implements OnResponseListener { 12 | 13 | @Override 14 | public void onStart(int requestType) { 15 | 16 | } 17 | 18 | @Override 19 | public void onError(AppjsException e, int requestType) { 20 | UIHelper.ToastMessage(e.getMessage()); 21 | e.printStackTrace(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/values/colors_values.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #ffffffff 4 | #66ffffff 5 | #b3ffffff 6 | #f9f9f9 7 | #ff000000 8 | #00000000 9 | #fe6d6a 10 | #b44d4b 11 | #89D767 12 | #5ca73c 13 | #f9f9f9 14 | #c6c6c6 15 | #c5181818 16 | 17 | 18 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_camera_circle_green_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 星座空间(star-zone) 2 | 3 | ## 简介 4 | 关于星座的社交App 5 | 操作系统:Android 6 | 兼容Android4.4.0 - 8.1.0 7 | 8 | Java后台代码在 9 | 10 | [https://github.com/liushaoming/star-zone](https://github.com/liushaoming/star-zone) 11 | 12 | ## 效果图 13 | * logo 14 | 15 |
16 | 17 | ![](/doc/image/ic_custom_app.png) 18 | 19 |
20 | * 界面 21 |
22 | 23 | ![](/doc/image/poster-1.png) 24 | 25 |
26 | 27 | ![](/doc/image/poster-2.png) 28 | 29 |
30 | 31 | ![](/doc/image/poster-3.png) 32 | 33 |
34 | 35 | ## 开发主要事项 36 | 技术通讯使用了小米推送MiPush和腾讯免费的短信服务。 37 | 大家如果真的需要使用这些功能,需要自己去相关的官网上去注册小米开发者账号和腾讯云账号 38 | 获取相应的appid和key填入到com.appjishu.starzone.constant.MiSdkConstant 39 | 并修改Java后台的sms短信的开发者配置信息和misdk的开发者信息, 基本都是一些constant类,大家自己在代码中找找位置 40 | 命名基本是apikey, secret之类的。 41 |


42 | -------------------------------------------------------------------------------- /circle_photoview/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | android { 4 | compileSdkVersion rootProject.ext.android.compileSdkVersion 5 | 6 | defaultConfig { 7 | minSdkVersion rootProject.ext.android.minSdkVersion 8 | targetSdkVersion rootProject.ext.android.targetSdkVersion 9 | versionCode rootProject.ext.android.versionCode 10 | versionName rootProject.ext.android.versionName 11 | 12 | javaCompileOptions { 13 | annotationProcessorOptions { 14 | arguments = [moduleName: project.getName()] 15 | } 16 | } 17 | } 18 | 19 | lintOptions { 20 | abortOnError false 21 | } 22 | } 23 | 24 | dependencies { 25 | api "com.android.support:support-core-utils:27.1.1" 26 | } 27 | 28 | -------------------------------------------------------------------------------- /circle_base_library/src/main/java/razerdp/github/com/lib/network/base/OnResponseListener.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.lib.network.base; 2 | 3 | import razerdp.github.com.lib.base.AppjsException; 4 | 5 | /** 6 | * Created by liushaoming on 2016/10/27. 7 | */ 8 | 9 | public interface OnResponseListener { 10 | void onStart(int requestType); 11 | 12 | void onSuccess(T response, int requestType); 13 | 14 | void onError(AppjsException e, int requestType); 15 | 16 | abstract class SimpleResponseListener implements OnResponseListener { 17 | 18 | @Override 19 | public void onStart(int requestType) { 20 | 21 | } 22 | 23 | 24 | @Override 25 | public void onError(AppjsException e, int requestType) { 26 | 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /circle_photoselect/src/main/res/layout/activity_photoselect.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 12 | 13 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /circle_photoselect/src/main/res/layout/item_photo_select.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 11 | 12 | 18 | 19 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/model/IntroduceVO.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.model; 2 | 3 | import java.io.Serializable; 4 | 5 | public class IntroduceVO implements Serializable { 6 | private static final long serialVersionUID = 2872747216768226L; 7 | private String textContent; 8 | private String appDownloadWebsite; 9 | 10 | public String getTextContent() { 11 | return textContent; 12 | } 13 | 14 | public void setTextContent(String textContent) { 15 | this.textContent = textContent; 16 | } 17 | 18 | public String getAppDownloadWebsite() { 19 | return appDownloadWebsite; 20 | } 21 | 22 | public void setAppDownloadWebsite(String appDownloadWebsite) { 23 | this.appDownloadWebsite = appDownloadWebsite; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/java/razerdp/github/com/ui/itemdecoration/GridItemDecoration.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.ui.itemdecoration; 2 | 3 | import android.graphics.Rect; 4 | import android.support.v7.widget.RecyclerView; 5 | import android.view.View; 6 | 7 | /** 8 | * Created by liushaoming on 2017/3/24. 9 | */ 10 | 11 | public class GridItemDecoration extends RecyclerView.ItemDecoration { 12 | 13 | private int space; 14 | 15 | public GridItemDecoration(int space) { 16 | this.space = space; 17 | } 18 | 19 | @Override 20 | public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { 21 | outRect.left = space; 22 | outRect.right = space; 23 | outRect.bottom = space; 24 | outRect.top = space; 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/singleton/GlideRequestOptionsSingleton.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.singleton; 2 | 3 | import com.bumptech.glide.load.engine.DiskCacheStrategy; 4 | import com.bumptech.glide.request.RequestOptions; 5 | 6 | public class GlideRequestOptionsSingleton { 7 | private static final GlideRequestOptionsSingleton ourInstance = new GlideRequestOptionsSingleton(); 8 | 9 | public static GlideRequestOptionsSingleton getInstance() { 10 | return ourInstance; 11 | } 12 | 13 | private GlideRequestOptionsSingleton() { 14 | requestOptions = RequestOptions.diskCacheStrategyOf(DiskCacheStrategy.RESOURCE); 15 | } 16 | 17 | private RequestOptions requestOptions; 18 | 19 | public RequestOptions getRequestOptions() { 20 | return requestOptions; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /circle_common/src/main/java/com/razerdp/github/com/common/entity/LikeInfo.java: -------------------------------------------------------------------------------- 1 | package com.razerdp.github.com.common.entity; 2 | 3 | /** 4 | * Created by liushaoming on 2017/3/28. 5 | */ 6 | 7 | public class LikeInfo { 8 | private long id; 9 | private long momentId; 10 | private UserInfo userInfo; 11 | 12 | public long getId() { 13 | return id; 14 | } 15 | 16 | public void setId(long id) { 17 | this.id = id; 18 | } 19 | 20 | public UserInfo getUserInfo() { 21 | return userInfo; 22 | } 23 | 24 | public void setUserInfo(UserInfo userInfo) { 25 | this.userInfo = userInfo; 26 | } 27 | 28 | public long getMomentId() { 29 | return momentId; 30 | } 31 | 32 | public void setMomentId(long momentId) { 33 | this.momentId = momentId; 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /circle_common/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/java/razerdp/github/com/ui/base/adapter/BaseMultiRecyclerViewHolder.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.ui.base.adapter; 2 | 3 | import android.content.Context; 4 | import android.view.View; 5 | import android.view.ViewGroup; 6 | 7 | /** 8 | * Created by liushaoming on 2018/4/10. 9 | */ 10 | public abstract class BaseMultiRecyclerViewHolder extends BaseRecyclerViewHolder { 11 | 12 | private BaseMultiRecyclerViewHolder(Context context, ViewGroup viewGroup, int layoutResId) { 13 | super(context, viewGroup, layoutResId); 14 | } 15 | 16 | private BaseMultiRecyclerViewHolder(Context context, int layoutResId) { 17 | super(context, layoutResId); 18 | } 19 | 20 | public BaseMultiRecyclerViewHolder(View itemView, int viewType) { 21 | super(itemView, viewType); 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/util/ToastUtil.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.util; 2 | 3 | import android.app.Activity; 4 | import android.util.Log; 5 | import android.widget.Toast; 6 | 7 | public class ToastUtil { 8 | 9 | public static void showToast(final Activity activity, final String message) { 10 | if ("main".equals(Thread.currentThread().getName())) { 11 | Log.e("ToastUtil", "在主线程"); 12 | Toast.makeText(activity, message, Toast.LENGTH_SHORT).show(); 13 | } else { 14 | activity.runOnUiThread(new Runnable() { 15 | @Override 16 | public void run() { 17 | Log.e("ToastUtil", "不在主线程"); 18 | Toast.makeText(activity, message, Toast.LENGTH_SHORT).show(); 19 | } 20 | }); 21 | } 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /circle_base_library/src/main/java/razerdp/github/com/lib/network/ssl/HttpsModel.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.lib.network.ssl; 2 | 3 | import javax.net.ssl.SSLSocketFactory; 4 | import javax.net.ssl.X509TrustManager; 5 | 6 | public class HttpsModel { 7 | private SSLSocketFactory sslSocketFactory; 8 | private X509TrustManager x509TrustManager; 9 | 10 | public SSLSocketFactory getSslSocketFactory() { 11 | return sslSocketFactory; 12 | } 13 | 14 | public void setSslSocketFactory(SSLSocketFactory sslSocketFactory) { 15 | this.sslSocketFactory = sslSocketFactory; 16 | } 17 | 18 | public X509TrustManager getX509TrustManager() { 19 | return x509TrustManager; 20 | } 21 | 22 | public void setX509TrustManager(X509TrustManager x509TrustManager) { 23 | this.x509TrustManager = x509TrustManager; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/app/mvp/presenter/ICommentPresenter.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.app.mvp.presenter; 2 | 3 | import android.support.annotation.NonNull; 4 | import android.support.annotation.Nullable; 5 | 6 | import com.appjishu.starzone.app.mvp.callback.OnCommentChangeCallback; 7 | 8 | /** 9 | * Created by liushaoming on 2016/12/6. 10 | */ 11 | 12 | public interface ICommentPresenter { 13 | 14 | 15 | /** 16 | * 添加评论 17 | */ 18 | void addComment(@NonNull long momentsId, 19 | @NonNull long authorId, 20 | @Nullable long replyUserId, 21 | @NonNull String content, 22 | @NonNull OnCommentChangeCallback onCommentChangeCallback); 23 | 24 | void deleteComment(@NonNull long commentid, @NonNull final OnCommentChangeCallback onCommentChangeCallback); 25 | } 26 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/util/UserInfoUtil.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.util; 2 | 3 | import com.appjishu.starzone.constant.CustomConstant; 4 | import com.appjishu.starzone.model.UserProfile; 5 | import com.razerdp.github.com.common.entity.UserInfo; 6 | 7 | public class UserInfoUtil { 8 | public static UserInfo userProfile2UserInfo(UserProfile userProfile) { 9 | if (userProfile == null || userProfile.getUserId() < 1) { 10 | return null; 11 | } 12 | UserInfo userInfo = new UserInfo(); 13 | userInfo.setId(userProfile.getUserId()); 14 | userInfo.setUsername(userProfile.getNickname()); 15 | userInfo.setNickname(userProfile.getNickname()); 16 | userInfo.setCover(CustomConstant.COVER_DEMO); 17 | userInfo.setHeadImg(userProfile.getHeadImg()); 18 | return userInfo; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /circle_photoselect/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 10 | 16 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/model/MatchData.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.model; 2 | 3 | import java.io.Serializable; 4 | 5 | public class MatchData implements Serializable { 6 | private static final long serialVersionUID = -7260707653428972102L; 7 | private String title; 8 | private String grade; 9 | private String content; 10 | 11 | public String getTitle() { 12 | return title; 13 | } 14 | 15 | public void setTitle(String title) { 16 | this.title = title; 17 | } 18 | 19 | public String getGrade() { 20 | return grade; 21 | } 22 | 23 | public void setGrade(String grade) { 24 | this.grade = grade; 25 | } 26 | 27 | public String getContent() { 28 | return content; 29 | } 30 | 31 | public void setContent(String content) { 32 | this.content = content; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /circle_base_library/src/main/java/razerdp/github/com/lib/interfaces/OnPermissionGrantListener.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.lib.interfaces; 2 | 3 | 4 | import razerdp.github.com.lib.helper.PermissionHelper; 5 | 6 | /** 7 | * Created by liushaoming on 2018/5/7. 8 | */ 9 | public interface OnPermissionGrantListener { 10 | void onPermissionGranted(PermissionHelper.Permission... grantedPermissions); 11 | 12 | void onPermissionsDenied(PermissionHelper.Permission... deniedPermissions); 13 | 14 | abstract class OnPermissionGrantListenerAdapter implements OnPermissionGrantListener { 15 | @Override 16 | public void onPermissionGranted(PermissionHelper.Permission... grantedPermissions) { 17 | 18 | } 19 | 20 | @Override 21 | public void onPermissionsDenied(PermissionHelper.Permission... deniedPermissions) { 22 | 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/drawable-xhdpi/red_button_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/drawable-xhdpi/green_button_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/model/UserScore.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.model; 2 | 3 | import java.io.Serializable; 4 | 5 | public class UserScore implements Serializable { 6 | private static final long serialVersionUID = 5446078356301835480L; 7 | private long userId; 8 | private int checkInCount; 9 | private int score; 10 | 11 | public long getUserId() { 12 | return userId; 13 | } 14 | 15 | public void setUserId(long userId) { 16 | this.userId = userId; 17 | } 18 | 19 | public int getCheckInCount() { 20 | return checkInCount; 21 | } 22 | 23 | public void setCheckInCount(int checkInCount) { 24 | this.checkInCount = checkInCount; 25 | } 26 | 27 | public int getScore() { 28 | return score; 29 | } 30 | 31 | public void setScore(int score) { 32 | this.score = score; 33 | } 34 | } 35 | 36 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/model/TianapiStar.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.model; 2 | 3 | import java.io.Serializable; 4 | import java.util.List; 5 | 6 | public class TianapiStar implements Serializable { 7 | private static final long serialVersionUID = 1940943699935431103L; 8 | private int code; 9 | private String msg; 10 | private List newslist; 11 | 12 | public int getCode() { 13 | return code; 14 | } 15 | 16 | public void setCode(int code) { 17 | this.code = code; 18 | } 19 | 20 | public String getMsg() { 21 | return msg; 22 | } 23 | 24 | public void setMsg(String msg) { 25 | this.msg = msg; 26 | } 27 | 28 | public List getNewslist() { 29 | return newslist; 30 | } 31 | 32 | public void setNewslist(List newslist) { 33 | this.newslist = newslist; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /app/src/main/res/values-v21/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 18 | 19 | -------------------------------------------------------------------------------- /circle_base_library/src/main/java/razerdp/github/com/lib/manager/compress/OnCompressListener.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.lib.manager.compress; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * Created by liushaoming on 2018/1/8. 7 | */ 8 | public interface OnCompressListener { 9 | 10 | void onRotate(int picIndex, int width, int height); 11 | 12 | void onSuccess(List imagePath); 13 | 14 | void onCompress(long current, long target); 15 | 16 | void onError(String tag); 17 | 18 | public static abstract class OnCompressListenerAdapter implements OnCompressListener { 19 | @Override 20 | public void onRotate(int picIndex, int width, int height) { 21 | 22 | } 23 | 24 | @Override 25 | public void onCompress(long current, long target) { 26 | 27 | } 28 | 29 | @Override 30 | public void onError(String tag) { 31 | 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/layout/view_ptr_footer.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 16 | 17 | 23 | 24 | -------------------------------------------------------------------------------- /circle_common/src/androidTest/java/com/razerdp/circle_common/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package com.razerdp.circle_common; 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 | * Instrumented 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("com.razerdp.circle_common.test", appContext.getPackageName()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/ui/viewholder/WebMomentsVH.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.ui.viewholder; 2 | 3 | import android.support.annotation.NonNull; 4 | import android.view.View; 5 | 6 | import com.razerdp.github.com.common.entity.MomentInfo; 7 | 8 | import com.appjishu.starzone.R; 9 | import razerdp.github.com.ui.base.adapter.LayoutId; 10 | 11 | 12 | /** 13 | * Created by liushaoming on 2016/11/3. 14 | *

15 | * 網頁vh 16 | * 17 | * @see MomentsType 18 | */ 19 | 20 | @LayoutId(id = R.layout.moments_web) 21 | public class WebMomentsVH extends CircleBaseViewHolder { 22 | 23 | 24 | public WebMomentsVH(View itemView, int viewType) { 25 | super(itemView, viewType); 26 | } 27 | 28 | @Override 29 | public void onFindView(@NonNull View rootView) { 30 | 31 | 32 | } 33 | 34 | @Override 35 | public void onBindDataToView(@NonNull MomentInfo data, int position, int viewType) { 36 | 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /circle_base_library/src/androidTest/java/razerdp/github/com/baselibrary/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.lib; 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("razerdp.github.com.baselibrary.test", appContext.getPackageName()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /circle_base_ui/src/androidTest/java/razerdp/github/com/baseuilib/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.baseuilib; 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("razerdp.github.com.baseuilib.test", appContext.getPackageName()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/ui/viewholder/TextOnlyMomentsVH.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.ui.viewholder; 2 | 3 | import android.support.annotation.NonNull; 4 | import android.view.View; 5 | 6 | import com.razerdp.github.com.common.entity.MomentInfo; 7 | 8 | import com.appjishu.starzone.R; 9 | import razerdp.github.com.ui.base.adapter.LayoutId; 10 | 11 | 12 | /** 13 | * Created by liushaoming on 2016/11/3. 14 | * 15 | * 衹有文字的vh 16 | * 17 | * @see MomentsType 18 | */ 19 | 20 | @LayoutId(id = R.layout.moments_only_text) 21 | public class TextOnlyMomentsVH extends CircleBaseViewHolder { 22 | 23 | public TextOnlyMomentsVH(View itemView, int viewType) { 24 | super(itemView, viewType); 25 | } 26 | 27 | @Override 28 | public void onFindView(@NonNull View rootView) { 29 | 30 | } 31 | 32 | @Override 33 | public void onBindDataToView(@NonNull MomentInfo data, int position, int viewType) { 34 | 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /circle_publish/src/androidTest/java/extramessage/rekall/com/publish/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package extramessage.rekall.com.publish; 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("extramessage.rekall.com.publish.test", appContext.getPackageName()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/ui/viewholder/EmptyMomentsVH.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.ui.viewholder; 2 | 3 | import android.support.annotation.NonNull; 4 | import android.view.View; 5 | 6 | import com.razerdp.github.com.common.entity.MomentInfo; 7 | 8 | import com.appjishu.starzone.R; 9 | import razerdp.github.com.ui.base.adapter.LayoutId; 10 | 11 | 12 | /** 13 | * Created by liushaoming on 2016/11/3. 14 | *

15 | * 空内容的vh 16 | * 17 | * @see MomentsType 18 | */ 19 | 20 | @LayoutId(id = R.layout.moments_empty_content) 21 | public class EmptyMomentsVH extends CircleBaseViewHolder { 22 | 23 | 24 | public EmptyMomentsVH(View itemView, int viewType) { 25 | super(itemView, viewType); 26 | } 27 | 28 | @Override 29 | public void onFindView(@NonNull View rootView) { 30 | 31 | } 32 | 33 | @Override 34 | public void onBindDataToView(@NonNull MomentInfo data, int position, int viewType) { 35 | 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /circle_photoselect/src/androidTest/java/razerdp/github/com/photoselect/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.photoselect; 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("razerdp.github.com.photoselect.test", appContext.getPackageName()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_sign_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 9 | 10 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 25 | 26 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/anim/no_translate.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 22 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/util/MyFileUtil.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.util; 2 | 3 | public class MyFileUtil { 4 | 5 | /**判断字符类型是否是路径 6 | * @param path 7 | * @return 8 | */ 9 | public static boolean isFilePath(String path) { 10 | if (isEmpty(path, true)) { 11 | return false; 12 | } 13 | 14 | if (! path.contains(".") || path.endsWith(".")) { 15 | return false; 16 | } 17 | 18 | return true; 19 | } 20 | 21 | /**判断字符是否为空 22 | * @param s 23 | * @param trim 24 | * @return 25 | */ 26 | public static boolean isEmpty(String s, boolean trim) { 27 | // Log.i(TAG, "isEmpty s = " + s); 28 | if (s == null) { 29 | return true; 30 | } 31 | if (trim) { 32 | s = s.trim(); 33 | } 34 | if (s.length() <= 0) { 35 | return true; 36 | } 37 | 38 | return false; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/anim/slide_in_bottom.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 22 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/anim/slide_out_bottom.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 22 | -------------------------------------------------------------------------------- /app/src/main/res/menu/navigation.xml: -------------------------------------------------------------------------------- 1 | 2 |

6 | 10 | 11 | 15 | 16 | 20 | 21 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/util/Constant.java: -------------------------------------------------------------------------------- 1 | /*Copyright ©2015 TommyLemon(https://github.com/flylib) 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License.*/ 14 | 15 | package com.appjishu.starzone.util; 16 | 17 | 18 | /**常量工具类 19 | * @author liushaoming 20 | * @warn TODO 修改里面所有常量 21 | */ 22 | public class Constant { 23 | public static final String APP_OFFICIAL_WEIBO = "weibo.com/5225556360"; 24 | public static final String UPDATE_LOG_WEBSITE = "github.com/TommyLemon/Android-ZBLibrary/commits/master"; 25 | } 26 | -------------------------------------------------------------------------------- /circle_publish/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:\AndroidSDK/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 | 19 | # Uncomment this to preserve the line number information for 20 | # debugging stack traces. 21 | #-keepattributes SourceFile,LineNumberTable 22 | 23 | # If you keep the line number information, uncomment this to 24 | # hide the original source file name. 25 | #-renamesourcefileattribute SourceFile 26 | -------------------------------------------------------------------------------- /circle_base_ui/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 E:\Develop\Android\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 | 19 | # Uncomment this to preserve the line number information for 20 | # debugging stack traces. 21 | #-keepattributes SourceFile,LineNumberTable 22 | 23 | # If you keep the line number information, uncomment this to 24 | # hide the original source file name. 25 | #-renamesourcefileattribute SourceFile 26 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/util/Md5Util.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.util; 2 | 3 | import android.text.TextUtils; 4 | 5 | import java.security.MessageDigest; 6 | import java.security.NoSuchAlgorithmException; 7 | 8 | public class Md5Util { 9 | public static String md5(String string) { 10 | if (TextUtils.isEmpty(string)) { 11 | return ""; 12 | } 13 | MessageDigest md5 = null; 14 | try { 15 | md5 = MessageDigest.getInstance("MD5"); 16 | byte[] bytes = md5.digest(string.getBytes()); 17 | String result = ""; 18 | for (byte b : bytes) { 19 | String temp = Integer.toHexString(b & 0xff); 20 | if (temp.length() == 1) { 21 | temp = "0" + temp; 22 | } 23 | result += temp; 24 | } 25 | return result; 26 | } catch (NoSuchAlgorithmException e) { 27 | e.printStackTrace(); 28 | } 29 | return ""; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /circle_base_library/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 E:\Develop\Android\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 | 19 | # Uncomment this to preserve the line number information for 20 | # debugging stack traces. 21 | #-keepattributes SourceFile,LineNumberTable 22 | 23 | # If you keep the line number information, uncomment this to 24 | # hide the original source file name. 25 | #-renamesourcefileattribute SourceFile 26 | -------------------------------------------------------------------------------- /circle_photoselect/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 E:\Develop\Android\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 | 19 | # Uncomment this to preserve the line number information for 20 | # debugging stack traces. 21 | #-keepattributes SourceFile,LineNumberTable 22 | 23 | # If you keep the line number information, uncomment this to 24 | # hide the original source file name. 25 | #-renamesourcefileattribute SourceFile 26 | -------------------------------------------------------------------------------- /circle_base_library/src/main/java/razerdp/github/com/lib/interfaces/SingleClickListener.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.lib.interfaces; 2 | 3 | import android.view.View; 4 | 5 | /** 6 | * Created by liushaoming on 2017/04/01. 7 | *

8 | * 防止短时间内触发多次点击事件 9 | */ 10 | public abstract class SingleClickListener implements View.OnClickListener { 11 | private static final String TAG = "SingleClickListener"; 12 | 13 | private int MIN_CLICK_DELAY_TIME = 500; 14 | private long lastClickTime = 0; 15 | 16 | public SingleClickListener() { 17 | } 18 | 19 | public SingleClickListener(int MIN_CLICK_DELAY_TIME) { 20 | this.MIN_CLICK_DELAY_TIME = MIN_CLICK_DELAY_TIME; 21 | } 22 | 23 | @Override 24 | public final void onClick(View v) { 25 | long currentTime = System.currentTimeMillis(); 26 | if (currentTime - lastClickTime > MIN_CLICK_DELAY_TIME) { 27 | lastClickTime = currentTime; 28 | onSingleClick(v); 29 | } 30 | } 31 | 32 | public abstract void onSingleClick(View v); 33 | } 34 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/anim/slide_in_left.xml: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 22 | 24 | 25 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/anim/slide_in_right.xml: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 22 | 24 | 25 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/anim/slide_out_left.xml: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 22 | 24 | 25 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/model/TableData.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.model; 2 | 3 | import java.io.Serializable; 4 | import java.util.List; 5 | 6 | public class TableData implements Serializable { 7 | private static final long serialVersionUID = 6844750051465188580L; 8 | 9 | private int code; 10 | private long count; 11 | private List data; 12 | private String msg; 13 | 14 | public int getCode() { 15 | return code; 16 | } 17 | 18 | public void setCode(int code) { 19 | this.code = code; 20 | } 21 | 22 | public long getCount() { 23 | return count; 24 | } 25 | 26 | public void setCount(long count) { 27 | this.count = count; 28 | } 29 | 30 | public List getData() { 31 | return data; 32 | } 33 | 34 | public void setData(List data) { 35 | this.data = data; 36 | } 37 | 38 | public String getMsg() { 39 | return msg; 40 | } 41 | 42 | public void setMsg(String msg) { 43 | this.msg = msg; 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /circle_common/src/main/java/com/razerdp/github/com/common/entity/photo/AlbumInfo.java: -------------------------------------------------------------------------------- 1 | package com.razerdp.github.com.common.entity.photo; 2 | 3 | import java.io.Serializable; 4 | 5 | /** 6 | * Created by liushaoming on 2017/3/29. 7 | *

8 | * 相册使用的bean 9 | */ 10 | 11 | public class AlbumInfo implements Serializable { 12 | private String albumName; 13 | private int photoCounts; 14 | private String firstPhoto; 15 | 16 | public AlbumInfo() { 17 | } 18 | 19 | public String getAlbumName() { 20 | return albumName; 21 | } 22 | 23 | public void setAlbumName(String albumName) { 24 | this.albumName = albumName; 25 | } 26 | 27 | public int getPhotoCounts() { 28 | return photoCounts; 29 | } 30 | 31 | public void setPhotoCounts(int photoCounts) { 32 | this.photoCounts = photoCounts; 33 | } 34 | 35 | public String getFirstPhoto() { 36 | return firstPhoto; 37 | } 38 | 39 | public void setFirstPhoto(String firstPhoto) { 40 | this.firstPhoto = firstPhoto; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/anim/slide_out_right.xml: -------------------------------------------------------------------------------- 1 | 2 | 20 | 21 | 22 | 26 | 27 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/java/razerdp/github/com/ui/widget/pullrecyclerview/wrapperadapter/FixedViewInfo.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.ui.widget.pullrecyclerview.wrapperadapter; 2 | 3 | import android.view.View; 4 | 5 | /** 6 | * Created by liushaoming on 2017/3/15. 7 | *

8 | * 用于recyclerview的header和footer的view fix info 9 | */ 10 | 11 | public class FixedViewInfo { 12 | 13 | /** 14 | * 不完美解决方法:添加一个header,则从-2开始减1 15 | * header:-2~-98 16 | */ 17 | public static final int ITEM_VIEW_TYPE_HEADER_START = -2; 18 | /** 19 | * 不完美解决方法:添加一个header,则从-99开始减1 20 | * footer:-99~-无穷 21 | */ 22 | public static final int ITEM_VIEW_TYPE_FOOTER_START = -99; 23 | 24 | 25 | /** 26 | * The view to add to the list 27 | */ 28 | public final View view; 29 | /** 30 | * 因为onCreateViewHolder不包含位置信息,所以itemViewType需要包含位置信息 31 | *

32 | * 位置信息方法:将位置添加到高位 33 | */ 34 | public final int itemViewType; 35 | 36 | public FixedViewInfo(View view, int itemViewType) { 37 | this.view = view; 38 | this.itemViewType = itemViewType; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /app/src/main/res/layout/moments_empty_content.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 19 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_check_in.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 15 | 16 | 22 | 23 | 24 | 28 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_photo_browse.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 15 | 16 | 20 | 21 | 28 | 29 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_settings_blue_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /circle_common/src/main/java/com/razerdp/github/com/common/entity/other/ServiceInfo.java: -------------------------------------------------------------------------------- 1 | package com.razerdp.github.com.common.entity.other; 2 | 3 | 4 | import java.io.Serializable; 5 | 6 | /** 7 | * Created by liushaoming on 2017/12/20. 8 | */ 9 | public class ServiceInfo implements Serializable { 10 | 11 | private static final long serialVersionUID = 8217838211234456430L; 12 | 13 | public interface ServiceInfoFields { 14 | String TITLE = "title"; 15 | String CONTENT = "content"; 16 | String TIPS="tips"; 17 | } 18 | 19 | private String title; 20 | private String content; 21 | private String tips; 22 | 23 | public String getTitle() { 24 | return title; 25 | } 26 | 27 | public void setTitle(String title) { 28 | this.title = title; 29 | } 30 | 31 | public String getContent() { 32 | return content; 33 | } 34 | 35 | public void setContent(String content) { 36 | this.content = content; 37 | } 38 | 39 | public String getTips() { 40 | return tips; 41 | } 42 | 43 | public void setTips(String tips) { 44 | this.tips = tips; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /config.gradle: -------------------------------------------------------------------------------- 1 | ext { 2 | 3 | android = [ 4 | compileSdkVersion: 27, 5 | minSdkVersion : 17, 6 | targetSdkVersion : 27, 7 | versionCode : 1, 8 | versionName : "1.0" 9 | ] 10 | 11 | baselib = [ 12 | versionCode: 3, 13 | versionName: "1.2" 14 | ] 15 | 16 | baseuilib = [ 17 | versionCode: 2, 18 | versionName: "1.1" 19 | ] 20 | 21 | imagelib = [ 22 | versionCode: 1, 23 | versionName: "1.0" 24 | ] 25 | 26 | photoselect = [ 27 | versionCode: 1, 28 | versionName: "1.0" 29 | ] 30 | 31 | publish = [ 32 | versionCode: 1, 33 | versionName: "1.0" 34 | ] 35 | 36 | dependencies = [ 37 | appcompat_v7 : 'com.android.support:appcompat-v7:27.1.1', 38 | design : 'com.android.support:design:27.1.1', 39 | support_util : 'com.android.support:support-core-utils:27.1.1', 40 | arouter_api : 'com.alibaba:arouter-api:1.3.1', 41 | arouter_compiler: 'com.alibaba:arouter-compiler:1.1.4' 42 | ] 43 | } -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/util/ActivityUtil.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.util; 2 | 3 | import android.app.ActivityManager; 4 | import android.content.ComponentName; 5 | import android.content.Context; 6 | import android.text.TextUtils; 7 | 8 | import java.util.List; 9 | 10 | public class ActivityUtil { 11 | /** 12 | * 判断某个Activity 界面是否在前台 13 | * @param context 14 | * @param className 某个界面名称 15 | * @return 16 | */ 17 | public static boolean isForeground(Context context, String className) { 18 | if (context == null || TextUtils.isEmpty(className)) { 19 | return false; 20 | } 21 | 22 | ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); 23 | List list = null; 24 | if (am != null) { 25 | list = am.getRunningTasks(1); 26 | } 27 | if (list != null && list.size() > 0) { 28 | ComponentName cpn = list.get(0).topActivity; 29 | if (className.equals(cpn.getClassName())) { 30 | return true; 31 | } 32 | } 33 | return false; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/anim/slide_in_bottom_with_alpha.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 22 | 26 | -------------------------------------------------------------------------------- /circle_common/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | android { 4 | compileSdkVersion rootProject.ext.android.compileSdkVersion 5 | 6 | defaultConfig { 7 | minSdkVersion rootProject.ext.android.minSdkVersion 8 | targetSdkVersion rootProject.ext.android.targetSdkVersion 9 | versionCode rootProject.ext.baseuilib.versionCode 10 | versionName rootProject.ext.baseuilib.versionName 11 | 12 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 13 | javaCompileOptions { 14 | annotationProcessorOptions { 15 | arguments = [ moduleName : project.getName() ] 16 | } 17 | } 18 | } 19 | 20 | buildTypes { 21 | release { 22 | minifyEnabled false 23 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 24 | } 25 | } 26 | lintOptions { 27 | abortOnError false 28 | } 29 | 30 | } 31 | 32 | dependencies { 33 | api project(':circle_base_ui') 34 | annotationProcessor rootProject.ext.dependencies.arouter_compiler 35 | implementation 'com.squareup.okio:okio:1.14.0' 36 | } 37 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/model/UserMsg.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.model; 2 | 3 | import java.io.Serializable; 4 | 5 | public class UserMsg implements Serializable { 6 | private static final long serialVersionUID = 2782911993038073058L; 7 | private long createTime; 8 | private ChatMsg chatMsg; 9 | private long targetId; 10 | private UserProfile targetProfile; 11 | 12 | public long getCreateTime() { 13 | return createTime; 14 | } 15 | 16 | public void setCreateTime(long createTime) { 17 | this.createTime = createTime; 18 | } 19 | 20 | public ChatMsg getChatMsg() { 21 | return chatMsg; 22 | } 23 | 24 | public void setChatMsg(ChatMsg chatMsg) { 25 | this.chatMsg = chatMsg; 26 | } 27 | 28 | public long getTargetId() { 29 | return targetId; 30 | } 31 | 32 | public void setTargetId(long targetId) { 33 | this.targetId = targetId; 34 | } 35 | 36 | public UserProfile getTargetProfile() { 37 | return targetProfile; 38 | } 39 | 40 | public void setTargetProfile(UserProfile targetProfile) { 41 | this.targetProfile = targetProfile; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /circle_photoview/src/main/java/uk/co/senab/photoview/gestures/OnGestureListener.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2011, 2012 Chris Banes. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | *******************************************************************************/ 16 | package uk.co.senab.photoview.gestures; 17 | 18 | public interface OnGestureListener { 19 | 20 | void onDrag(float dx, float dy); 21 | 22 | void onFling(float startX, float startY, float velocityX, 23 | float velocityY); 24 | 25 | void onScale(float scaleFactor, float focusX, float focusY); 26 | 27 | } -------------------------------------------------------------------------------- /circle_photoview/src/main/java/uk/co/senab/photoview/gestures/GestureDetector.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2011, 2012 Chris Banes. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | *******************************************************************************/ 16 | package uk.co.senab.photoview.gestures; 17 | 18 | import android.view.MotionEvent; 19 | 20 | public interface GestureDetector { 21 | 22 | boolean onTouchEvent(MotionEvent ev); 23 | 24 | boolean isScaling(); 25 | 26 | boolean isDragging(); 27 | 28 | void setOnGestureListener(OnGestureListener listener); 29 | 30 | } 31 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/util/KeyboardUtil.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.util; 2 | 3 | import android.content.Context; 4 | import android.view.View; 5 | import android.view.inputmethod.InputMethodManager; 6 | 7 | public class KeyboardUtil { 8 | public static void showKeyboard(View view) { 9 | InputMethodManager imm = (InputMethodManager) view.getContext() 10 | .getSystemService(Context.INPUT_METHOD_SERVICE); 11 | if (imm != null) { 12 | view.requestFocus(); 13 | imm.showSoftInput(view, 0); 14 | } 15 | } 16 | 17 | public static void hideKeyboard(View view) { 18 | InputMethodManager imm = (InputMethodManager) view.getContext() 19 | .getSystemService(Context.INPUT_METHOD_SERVICE); 20 | if (imm != null) { 21 | imm.hideSoftInputFromWindow(view.getWindowToken(), 0); 22 | } 23 | } 24 | 25 | public static void toggleSoftInput(View view) { 26 | InputMethodManager imm = (InputMethodManager) view.getContext() 27 | .getSystemService(Context.INPUT_METHOD_SERVICE); 28 | if (imm != null) { 29 | imm.toggleSoftInput(0, 0); 30 | } 31 | } 32 | } -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_star_character.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 12 | 13 | 23 | 24 | 25 | 29 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/app/mvp/presenter/IMomentPresenter.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.app.mvp.presenter; 2 | 3 | import android.content.Context; 4 | import android.support.annotation.NonNull; 5 | 6 | import com.razerdp.github.com.common.entity.CommentInfo; 7 | import com.razerdp.github.com.common.entity.LikeInfo; 8 | import com.razerdp.github.com.common.entity.MomentInfo; 9 | 10 | import java.util.List; 11 | 12 | import com.appjishu.starzone.app.mvp.view.IMomentView; 13 | import razerdp.github.com.lib.mvp.IBasePresenter; 14 | 15 | 16 | /** 17 | * Created by liushaoming on 2016/12/7. 18 | */ 19 | 20 | public interface IMomentPresenter extends IBasePresenter { 21 | 22 | 23 | void addLike(int viewHolderPos, long momentid, List currentLikeList); 24 | 25 | void unLike(int viewHolderPos, long likesid, List currentLikeList); 26 | 27 | void addComment(int viewHolderPos, long momentid, long replyUserid, String commentContent, List currentCommentList); 28 | 29 | void deleteComment(int viewHolderPos, long commentid, List currentCommentList); 30 | 31 | void deleteMoments(Context context,@NonNull MomentInfo momentInfo); 32 | 33 | } 34 | -------------------------------------------------------------------------------- /app/src/main/res/layout/grid_view_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 14 | 15 | 22 | 23 | 30 | 31 | -------------------------------------------------------------------------------- /circle_base_library/src/main/java/razerdp/github/com/lib/helper/PermissionHelperCompat.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.lib.helper; 2 | 3 | import android.support.annotation.NonNull; 4 | 5 | import java.util.List; 6 | 7 | import razerdp.github.com.lib.interfaces.OnPermissionGrantListener; 8 | 9 | /** 10 | * Created by liushaoming on 2018/5/7. 11 | *

12 | * 针对权限与不同厂商适配 13 | *

14 | * 本类所有返回boolean的方法都有如下规定: 15 | *

16 | * 当返回true,外部{@link PermissionHelper}的对应方法才能继续执行 17 | * 当返回false,外部{@link PermissionHelper}的对应方法中断 18 | */ 19 | class PermissionHelperCompat { 20 | 21 | 22 | void onRequestPermission(OnPermissionGrantListener listener, PermissionHelper.Permission... permissions) { 23 | 24 | } 25 | 26 | void onHandlePermissionResult(final int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { 27 | 28 | } 29 | 30 | boolean onDontAskPermission(List dontAskPermission) { 31 | 32 | return true; 33 | } 34 | 35 | boolean onBeforeCallGrantResult(PermissionHelper.Permission... permissions) { 36 | 37 | return true; 38 | } 39 | 40 | boolean onBeforeCallDeniedResult(PermissionHelper.Permission... permissions) { 41 | 42 | return true; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /circle_publish/src/main/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 18 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/java/razerdp/github/com/ui/widget/span/SpannableStringBuilderCompat.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.ui.widget.span; 2 | 3 | import android.text.SpannableStringBuilder; 4 | 5 | /** 6 | * Created by liushaoming on 2016/2/19. 7 | */ 8 | public class SpannableStringBuilderCompat extends SpannableStringBuilder { 9 | public SpannableStringBuilderCompat() { 10 | super(""); 11 | } 12 | 13 | public SpannableStringBuilderCompat(CharSequence text) { 14 | super(text, 0, text.length()); 15 | } 16 | 17 | public SpannableStringBuilderCompat(CharSequence text, int start, int end) { 18 | super(text, start, end); 19 | } 20 | 21 | public SpannableStringBuilderCompat append(CharSequence text) { 22 | if (text == null) return this; 23 | int length = length(); 24 | return (SpannableStringBuilderCompat) replace(length, length, text, 0, text.length()); 25 | } 26 | 27 | /** 该方法在原API里面只支持API21或者以上,这里抽取出来以适应低版本 */ 28 | public SpannableStringBuilderCompat append(CharSequence text, Object what, int flags) { 29 | if (text == null) return this; 30 | int start = length(); 31 | append(text); 32 | setSpan(what, start, length(), flags); 33 | return this; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /circle_base_library/src/main/java/razerdp/github/com/lib/interfaces/MultiClickListener.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.lib.interfaces; 2 | 3 | import android.view.View; 4 | 5 | import razerdp.github.com.lib.thirdpart.WeakHandler; 6 | 7 | 8 | /** 9 | * Created by liushaoming on 2016/6/21. 10 | *

11 | * 单双击事件监听 12 | */ 13 | public abstract class MultiClickListener implements View.OnClickListener { 14 | private static final int DelayedTime = 250; 15 | private boolean isDouble = false; 16 | private WeakHandler handler = new WeakHandler(); 17 | 18 | 19 | private final Runnable runnable = new Runnable() { 20 | @Override 21 | public void run() { 22 | isDouble = false; 23 | handler.removeCallbacks(this); 24 | onSingleClick(); 25 | } 26 | }; 27 | 28 | @Override 29 | public final void onClick(View v) { 30 | if (isDouble) { 31 | isDouble = false; 32 | handler.removeCallbacks(runnable); 33 | onDoubleClick(); 34 | } else { 35 | isDouble = true; 36 | handler.postDelayed(runnable, DelayedTime); 37 | } 38 | } 39 | 40 | public abstract void onSingleClick(); 41 | 42 | public abstract void onDoubleClick(); 43 | 44 | } 45 | -------------------------------------------------------------------------------- /circle_common/src/main/java/com/razerdp/github/com/util/BmobUrlUtil.java: -------------------------------------------------------------------------------- 1 | package com.razerdp.github.com.util; 2 | 3 | import android.support.annotation.IntRange; 4 | 5 | import java.util.Locale; 6 | 7 | import razerdp.github.com.lib.utils.StringUtil; 8 | 9 | /** 10 | * Created by liushaoming on 2018/1/3. 11 | *

12 | * bmob文件链接工具类 13 | */ 14 | public class BmobUrlUtil { 15 | 16 | private static final String thumbImage = "%s!/fxfn/%sx%s"; 17 | private static final String scaleThumbImage = "%s!/scale/%s";//[1-1000] 18 | 19 | public static String getThumbImageUrl(String url, int width, int height) { 20 | // TODO 取消缩略图-1 21 | // if (StringUtil.noEmpty(url) && (url.endsWith(".jpg") || url.endsWith(".png"))) { 22 | // return String.format(Locale.getDefault(), thumbImage, url, String.valueOf(width), String.valueOf(height)); 23 | // } 24 | return url; 25 | } 26 | 27 | public static String getThumbImageUrl(String url, @IntRange(from = 1, to = 1000) int scale) { 28 | // TODO 取消缩略图-2 29 | // if (StringUtil.noEmpty(url) && (url.endsWith(".jpg") || url.endsWith(".png"))) { 30 | // return String.format(Locale.getDefault(), scaleThumbImage, url, scale); 31 | // } 32 | return url; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Built application files 2 | *.apk 3 | *.ap_ 4 | 5 | # Files for the ART/Dalvik VM 6 | *.dex 7 | 8 | # Java class files 9 | *.class 10 | 11 | # Generated files 12 | bin/ 13 | gen/ 14 | out/ 15 | 16 | # Gradle files 17 | .gradle/ 18 | build/ 19 | 20 | # Local configuration file (sdk path, etc) 21 | local.properties 22 | 23 | # Proguard folder generated by Eclipse 24 | proguard/ 25 | 26 | # Log Files 27 | *.log 28 | 29 | # Android Studio Navigation editor temp files 30 | .navigation/ 31 | 32 | # Android Studio captures folder 33 | captures/ 34 | 35 | # IntelliJ 36 | *.iml 37 | .idea/workspace.xml 38 | .idea/tasks.xml 39 | .idea/gradle.xml 40 | .idea/assetWizardSettings.xml 41 | .idea/dictionaries 42 | .idea/libraries 43 | .idea/caches 44 | 45 | # Keystore files 46 | # Uncomment the following line if you do not want to check your keystore files in. 47 | #*.jks 48 | 49 | # External native build folder generated in Android Studio 2.2 and later 50 | .externalNativeBuild 51 | 52 | # Google Services (e.g. APIs or Firebase) 53 | google-services.json 54 | 55 | # Freeline 56 | freeline.py 57 | freeline/ 58 | freeline_project_description.json 59 | 60 | # fastlane 61 | fastlane/report.xml 62 | fastlane/Preview.html 63 | fastlane/screenshots 64 | fastlane/test_output 65 | fastlane/readme.md 66 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/app/mvp/view/IMomentView.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.app.mvp.view; 2 | 3 | import android.support.annotation.NonNull; 4 | import android.support.annotation.Nullable; 5 | import android.view.View; 6 | 7 | import com.razerdp.github.com.common.entity.CommentInfo; 8 | import com.razerdp.github.com.common.entity.LikeInfo; 9 | import com.razerdp.github.com.common.entity.MomentInfo; 10 | 11 | import java.util.List; 12 | 13 | import razerdp.github.com.lib.mvp.IBaseView; 14 | import razerdp.github.com.ui.widget.commentwidget.CommentWidget; 15 | 16 | 17 | /** 18 | * Created by liushaoming on 2016/12/7. 19 | */ 20 | 21 | public interface IMomentView extends IBaseView { 22 | 23 | void onLikeChange(int itemPos, List likeUserList); 24 | 25 | void onCommentChange(int itemPos, List commentInfoList); 26 | 27 | /** 28 | * 因为recyclerview通过位置找到itemview有可能会找不到对应的View,所以这次直接传值 29 | * 30 | * @param viewHolderRootView 31 | * @param itemPos 32 | * @param momentid 33 | * @param commentWidget 34 | */ 35 | void showCommentBox(@Nullable View viewHolderRootView, int itemPos, long momentid, CommentWidget commentWidget); 36 | 37 | void onDeleteMomentsInfo(@NonNull MomentInfo momentInfo); 38 | 39 | } 40 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/model/LoginResult.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.model; 2 | 3 | import java.io.Serializable; 4 | 5 | public class LoginResult implements Serializable { 6 | private static final long serialVersionUID = 3338533726508799286L; 7 | private long userId; 8 | private String token; 9 | private String username; 10 | private int code; 11 | private String codeDesc; 12 | 13 | public long getUserId() { 14 | return userId; 15 | } 16 | 17 | public void setUserId(long userId) { 18 | this.userId = userId; 19 | } 20 | 21 | public String getToken() { 22 | return token; 23 | } 24 | 25 | public void setToken(String token) { 26 | this.token = token; 27 | } 28 | 29 | public String getUsername() { 30 | return username; 31 | } 32 | 33 | public void setUsername(String username) { 34 | this.username = username; 35 | } 36 | 37 | public int getCode() { 38 | return code; 39 | } 40 | 41 | public void setCode(int code) { 42 | this.code = code; 43 | } 44 | 45 | public String getCodeDesc() { 46 | return codeDesc; 47 | } 48 | 49 | public void setCodeDesc(String codeDesc) { 50 | this.codeDesc = codeDesc; 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/util/APKVersionCodeUtil.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.util; 2 | 3 | import android.content.Context; 4 | import android.content.pm.PackageManager; 5 | 6 | public class APKVersionCodeUtil { 7 | /** 8 | * 获取当前本地apk的版本 9 | * 10 | * @param mContext 11 | * @return 12 | */ 13 | public static int getVersionCode(Context mContext) { 14 | int versionCode = 0; 15 | try { 16 | //获取软件版本号,对应AndroidManifest.xml下android:versionCode 17 | versionCode = mContext.getPackageManager(). 18 | getPackageInfo(mContext.getPackageName(), 0).versionCode; 19 | } catch (PackageManager.NameNotFoundException e) { 20 | e.printStackTrace(); 21 | } 22 | return versionCode; 23 | } 24 | 25 | /** 26 | * 获取版本号名称 27 | * 28 | * @param context 上下文 29 | * @return 30 | */ 31 | public static String getVerName(Context context) { 32 | String verName = ""; 33 | try { 34 | verName = context.getPackageManager(). 35 | getPackageInfo(context.getPackageName(), 0).versionName; 36 | } catch (PackageManager.NameNotFoundException e) { 37 | e.printStackTrace(); 38 | } 39 | return verName; 40 | } 41 | } -------------------------------------------------------------------------------- /circle_photoview/src/main/java/uk/co/senab/photoview/scrollerproxy/IcsScroller.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2011, 2012 Chris Banes. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | *******************************************************************************/ 16 | package uk.co.senab.photoview.scrollerproxy; 17 | 18 | import android.annotation.TargetApi; 19 | import android.content.Context; 20 | 21 | @TargetApi(14) 22 | public class IcsScroller extends GingerScroller { 23 | 24 | public IcsScroller(Context context) { 25 | super(context); 26 | } 27 | 28 | @Override 29 | public boolean computeScrollOffset() { 30 | return mScroller.computeScrollOffset(); 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/ui/adapter/CircleMomentsAdapter.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.ui.adapter; 2 | 3 | import android.content.Context; 4 | import android.support.annotation.NonNull; 5 | 6 | import com.razerdp.github.com.common.entity.MomentInfo; 7 | 8 | import java.util.List; 9 | 10 | import com.appjishu.starzone.app.mvp.presenter.impl.MomentPresenter; 11 | import com.appjishu.starzone.ui.viewholder.CircleBaseViewHolder; 12 | import razerdp.github.com.ui.base.adapter.BaseMultiRecyclerViewAdapter; 13 | import razerdp.github.com.ui.base.adapter.BaseRecyclerViewHolder; 14 | 15 | /** 16 | * Created by liushaoming on 2016/11/1. 17 | *

18 | * 朋友圈adapter 19 | */ 20 | 21 | public class CircleMomentsAdapter extends BaseMultiRecyclerViewAdapter { 22 | 23 | private MomentPresenter momentPresenter; 24 | 25 | public CircleMomentsAdapter(@NonNull Context context, @NonNull List datas, MomentPresenter presenter) { 26 | super(context, datas); 27 | this.momentPresenter = presenter; 28 | } 29 | 30 | @Override 31 | protected void onInitViewHolder(BaseRecyclerViewHolder holder) { 32 | if (holder instanceof CircleBaseViewHolder) { 33 | ((CircleBaseViewHolder) holder).setPresenter(momentPresenter); 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /app/src/main/res/values-w820dp/attrs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /app/src/main/res/layout/grid_item_function.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 20 | 21 | 32 | 33 | -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | 7 | 48dp 8 | 16dp 9 | 16dp 10 | 11 | 12 | 13 | 24sp 14 | 21sp 15 | 19sp 16 | 16sp 17 | 14sp 18 | 12sp 19 | 20 | 21 | 22 | 15dp 23 | ////bzlibrary---start 24 | 15dp 25 | 200dp 26 | 15dp 27 | ////bzlibrary---end 28 | 29 | 50dp 30 | 40dp 31 | 40dp 32 | 30dp 33 | 34 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/model/ResponseData.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.model; 2 | 3 | import java.io.Serializable; 4 | 5 | public class ResponseData implements Serializable { 6 | private static final long serialVersionUID = 1447339403407144621L; 7 | private int code; 8 | private String msg; 9 | private Object data; 10 | 11 | public ResponseData() { 12 | } 13 | 14 | public static ResponseData newOK() { 15 | ResponseData responseData = new ResponseData(); 16 | responseData.setCode(0); 17 | responseData.setMsg("OK"); 18 | return responseData; 19 | } 20 | 21 | public int getCode() { 22 | return this.code; 23 | } 24 | 25 | public void setCode(int code) { 26 | this.code = code; 27 | } 28 | 29 | public String getMsg() { 30 | return this.msg; 31 | } 32 | 33 | public void setMsg(String msg) { 34 | this.msg = msg; 35 | } 36 | 37 | public Object getData() { 38 | return this.data; 39 | } 40 | 41 | public void setData(Object data) { 42 | this.data = data; 43 | } 44 | 45 | @Override 46 | public String toString() { 47 | return "ResponseData{" + 48 | "code=" + code + 49 | ", msg='" + msg + '\'' + 50 | ", data=" + data + 51 | '}'; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /circle_base_library/src/main/java/razerdp/github/com/lib/utils/SimpleObjectPool.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.lib.utils; 2 | 3 | import java.lang.reflect.Array; 4 | 5 | /** 6 | * Created by liushaoming on 2017/05/5. 7 | *

8 | * 简单的对象池 9 | */ 10 | 11 | public class SimpleObjectPool { 12 | 13 | protected T[] objsPool; 14 | protected int size; 15 | protected int curPointer = -1; 16 | 17 | public SimpleObjectPool(Class type) { 18 | this(type, 8); 19 | } 20 | 21 | public SimpleObjectPool(Class type, int size) { 22 | this.size = size; 23 | objsPool = (T[]) Array.newInstance(type, size); 24 | } 25 | 26 | public synchronized T get() { 27 | if (curPointer == -1 || curPointer > objsPool.length) return null; 28 | T obj = objsPool[curPointer]; 29 | objsPool[curPointer] = null; 30 | curPointer--; 31 | return obj; 32 | } 33 | 34 | public synchronized boolean put(T t) { 35 | if (curPointer == -1 || curPointer < objsPool.length - 1) { 36 | curPointer++; 37 | objsPool[curPointer] = t; 38 | return true; 39 | } 40 | return false; 41 | } 42 | 43 | public void clearPool() { 44 | for (int i = 0; i < objsPool.length; i++) { 45 | objsPool[i] = null; 46 | } 47 | curPointer = -1; 48 | } 49 | } -------------------------------------------------------------------------------- /circle_photoview/src/main/java/uk/co/senab/photoview/log/LogManager.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2011, 2012 Chris Banes. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | *******************************************************************************/ 16 | package uk.co.senab.photoview.log; 17 | 18 | import android.util.Log; 19 | 20 | /** 21 | * class that holds the {@link Logger} for this library, defaults to {@link LoggerDefault} to send logs to android {@link Log} 22 | */ 23 | public final class LogManager { 24 | 25 | private static Logger logger = new LoggerDefault(); 26 | 27 | public static void setLogger(Logger newLogger) { 28 | logger = newLogger; 29 | } 30 | 31 | public static Logger getLogger() { 32 | return logger; 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /circle_common/src/main/java/com/razerdp/github/com/common/router/RouterList.java: -------------------------------------------------------------------------------- 1 | package com.razerdp.github.com.common.router; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | /** 7 | * Created by liushaoming on 2017/4/5. 8 | *

9 | * 跳转路由管理 10 | */ 11 | 12 | public interface RouterList { 13 | 14 | @Retention(RetentionPolicy.SOURCE) 15 | @interface PhotoMultiBrowserActivity { 16 | String path = "/photo/browser"; 17 | String key_browserinfo = "browserinfo"; 18 | String key_maxSelectCount = "maxSelectCount"; 19 | String key_result = "selectedphoto"; 20 | int requestCode = 0x20; 21 | } 22 | 23 | @Retention(RetentionPolicy.SOURCE) 24 | @interface PublishActivity { 25 | String path = "/publish/edit"; 26 | String key_mode = "mode"; 27 | String key_photoList = "photoList"; 28 | String key_userId = "userId"; 29 | String key_token = "token"; 30 | int MODE_TEXT = 0x10; 31 | int MODE_MULTI = 0x11; 32 | int requestCode = 0x21; 33 | } 34 | 35 | @Retention(RetentionPolicy.SOURCE) 36 | @interface PhotoSelectActivity { 37 | String path = "/photo/select"; 38 | String key_maxSelectCount = "maxSelectCount"; 39 | String key_result = "selectedphoto"; 40 | int requestCode = 0x22; 41 | } 42 | 43 | } 44 | -------------------------------------------------------------------------------- /circle_common/src/main/java/com/razerdp/github/com/common/model/ResponseData.java: -------------------------------------------------------------------------------- 1 | package com.razerdp.github.com.common.model; 2 | 3 | import java.io.Serializable; 4 | 5 | public class ResponseData implements Serializable { 6 | private static final long serialVersionUID = 1447339403407144621L; 7 | private int code; 8 | private String msg; 9 | private Object data; 10 | 11 | public ResponseData() { 12 | } 13 | 14 | public static ResponseData newOK() { 15 | ResponseData responseData = new ResponseData(); 16 | responseData.setCode(0); 17 | responseData.setMsg("OK"); 18 | return responseData; 19 | } 20 | 21 | public int getCode() { 22 | return this.code; 23 | } 24 | 25 | public void setCode(int code) { 26 | this.code = code; 27 | } 28 | 29 | public String getMsg() { 30 | return this.msg; 31 | } 32 | 33 | public void setMsg(String msg) { 34 | this.msg = msg; 35 | } 36 | 37 | public Object getData() { 38 | return this.data; 39 | } 40 | 41 | public void setData(Object data) { 42 | this.data = data; 43 | } 44 | 45 | @Override 46 | public String toString() { 47 | return "ResponseData{" + 48 | "code=" + code + 49 | ", msg='" + msg + '\'' + 50 | ", data=" + data + 51 | '}'; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/app/manager/ServiceInfoManager.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.app.manager; 2 | 3 | import android.support.annotation.Nullable; 4 | 5 | import com.razerdp.github.com.common.entity.other.ServiceInfo; 6 | 7 | import java.util.List; 8 | 9 | //import cn.bmob.v3.BmobQuery; 10 | //import cn.bmob.v3.exception.BmobException; 11 | //import cn.bmob.v3.listener.FindListener; 12 | import razerdp.github.com.lib.utils.ToolUtil; 13 | 14 | /** 15 | * Created by liushaoming on 2017/12/20. 16 | *

17 | * 服务器信息 18 | */ 19 | 20 | public enum ServiceInfoManager { 21 | INSTANCE; 22 | 23 | public void check(final OnCheckServiceInfoListener onCheckServiceInfoListener) { 24 | // BmobQuery serviceInfoBmobQuery = new BmobQuery<>(); 25 | // serviceInfoBmobQuery.findObjects(new FindListener() { 26 | // @Override 27 | // public void done(List list, BmobException e) { 28 | // if (e == null && !ToolUtil.isListEmpty(list)) { 29 | // if (onCheckServiceInfoListener != null) { 30 | // onCheckServiceInfoListener.onCheckFinish(list.get(0)); 31 | // } 32 | // } 33 | // } 34 | // }); 35 | } 36 | 37 | public interface OnCheckServiceInfoListener { 38 | void onCheckFinish(@Nullable ServiceInfo serviceInfo); 39 | } 40 | 41 | } 42 | -------------------------------------------------------------------------------- /app/src/main/res/layout/include_moments_header.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 18 | 19 | 30 | 31 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/ui/widget/dialog/ProgressDialog.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.ui.widget.dialog; 2 | 3 | import android.app.Activity; 4 | import android.support.annotation.NonNull; 5 | import android.support.annotation.StyleRes; 6 | import android.support.v7.app.AppCompatDialog; 7 | 8 | import com.appjishu.starzone.R; 9 | import com.appjishu.starzone.config.SettingShared; 10 | import com.pnikosis.materialishprogress.ProgressWheel; 11 | 12 | 13 | import butterknife.BindView; 14 | import butterknife.ButterKnife; 15 | 16 | public class ProgressDialog extends AppCompatDialog { 17 | 18 | public static ProgressDialog createWithAutoTheme(@NonNull Activity activity) { 19 | return new ProgressDialog(activity, SettingShared.isEnableThemeDark(activity) ? R.style.AppDialogDark_Progress : R.style.AppDialogLight_Progress); 20 | } 21 | 22 | @BindView(R.id.progress_wheel) 23 | ProgressWheel progressWheel; 24 | 25 | private ProgressDialog(@NonNull Activity activity, @StyleRes int theme) { 26 | super(activity, theme); 27 | setContentView(R.layout.dialog_progress); 28 | ButterKnife.bind(this); 29 | } 30 | 31 | @Override 32 | protected void onStart() { 33 | super.onStart(); 34 | progressWheel.spin(); 35 | } 36 | 37 | @Override 38 | protected void onStop() { 39 | progressWheel.stopSpinning(); 40 | super.onStop(); 41 | } 42 | 43 | } 44 | -------------------------------------------------------------------------------- /app/src/main/res/layout/moments_only_text.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | 12 | 13 | 22 | 23 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /circle_base_ui/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | android { 4 | compileSdkVersion rootProject.ext.android.compileSdkVersion 5 | 6 | defaultConfig { 7 | minSdkVersion rootProject.ext.android.minSdkVersion 8 | targetSdkVersion rootProject.ext.android.targetSdkVersion 9 | versionCode rootProject.ext.baseuilib.versionCode 10 | versionName rootProject.ext.baseuilib.versionName 11 | 12 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 13 | javaCompileOptions { 14 | annotationProcessorOptions { 15 | arguments = [ moduleName : project.getName() ] 16 | } 17 | } 18 | } 19 | buildTypes { 20 | release { 21 | minifyEnabled false 22 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 23 | } 24 | } 25 | lintOptions { 26 | abortOnError false 27 | } 28 | } 29 | 30 | dependencies { 31 | api fileTree(dir: 'libs', include: ['*.jar']) 32 | androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', { 33 | exclude group: 'com.android.support', module: 'support-annotations' 34 | }) 35 | 36 | api project(':circle_base_library') 37 | api project(':circle_photoview') 38 | annotationProcessor rootProject.ext.dependencies.arouter_compiler 39 | 40 | testImplementation 'junit:junit:4.12' 41 | } 42 | -------------------------------------------------------------------------------- /app/src/main/res/layout/popup_delete_comment.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 14 | 15 | 24 | 25 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /circle_base_library/src/main/java/razerdp/github/com/lib/utils/StringUtil.java: -------------------------------------------------------------------------------- 1 | package razerdp.github.com.lib.utils; 2 | 3 | import android.text.TextUtils; 4 | 5 | import java.util.Locale; 6 | 7 | import razerdp.github.com.lib.api.AppContext; 8 | 9 | /** 10 | * Created by liushaoming on 2016/10/28. 11 | *

12 | * 字符串工具类 13 | */ 14 | 15 | public class StringUtil { 16 | 17 | public static boolean noEmpty(String originStr) { 18 | return !TextUtils.isEmpty(originStr); 19 | } 20 | 21 | 22 | public static boolean noEmpty(String... originStr) { 23 | boolean noEmpty = true; 24 | for (String s : originStr) { 25 | if (TextUtils.isEmpty(s)) { 26 | noEmpty = false; 27 | break; 28 | } 29 | } 30 | return noEmpty; 31 | } 32 | 33 | /** 34 | * 从资源文件拿到文字 35 | */ 36 | public static String getResourceString(int strId) { 37 | String result = ""; 38 | if (strId > 0) { 39 | result = AppContext.getResources().getString(strId); 40 | } 41 | return result; 42 | } 43 | 44 | /** 45 | * 从资源文件得到文字并format 46 | */ 47 | public static String getResourceStringAndFormat(int strId, Object... objs) { 48 | String result = ""; 49 | if (strId > 0) { 50 | result = String.format(Locale.getDefault(), AppContext.getResources().getString(strId), objs); 51 | } 52 | return result; 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/layout/dialog_progress.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 16 | 17 | 23 | 24 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/singleton/GsonSingleton.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.singleton; 2 | 3 | import com.google.gson.Gson; 4 | import com.google.gson.GsonBuilder; 5 | import com.google.gson.JsonDeserializationContext; 6 | import com.google.gson.JsonDeserializer; 7 | import com.google.gson.JsonElement; 8 | import com.google.gson.JsonParseException; 9 | 10 | import java.lang.reflect.Type; 11 | import java.util.Date; 12 | 13 | public class GsonSingleton { 14 | private static final GsonSingleton ourInstance = new GsonSingleton(); 15 | 16 | public static GsonSingleton getInstance() { 17 | return ourInstance; 18 | } 19 | 20 | private GsonSingleton() { 21 | } 22 | private static Gson gson; 23 | private static Gson dateGson; 24 | 25 | static { 26 | gson = new Gson(); 27 | 28 | GsonBuilder builder = new GsonBuilder(); 29 | 30 | // Register an adapter to manage the date types as long values 31 | builder.registerTypeAdapter(Date.class, new JsonDeserializer() { 32 | public Date deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { 33 | return new Date(json.getAsJsonPrimitive().getAsLong()); 34 | } 35 | }); 36 | dateGson = builder.create(); 37 | } 38 | 39 | public Gson getGson() { 40 | return gson; 41 | } 42 | 43 | public static Gson getDateGson() { 44 | return dateGson; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /circle_base_ui/src/main/res/layout/popup_progress.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 17 | 18 | 24 | 25 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 16 | 17 | 18 | 29 | 30 | 34 | -------------------------------------------------------------------------------- /circle_photoview/src/main/java/uk/co/senab/photoview/log/Logger.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2011, 2012 Chris Banes. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | *******************************************************************************/ 16 | package uk.co.senab.photoview.log; 17 | 18 | /** 19 | * interface for a logger class to replace the static calls to {@link android.util.Log} 20 | */ 21 | public interface Logger { 22 | 23 | int v(String tag, String msg); 24 | 25 | int v(String tag, String msg, Throwable tr); 26 | 27 | int d(String tag, String msg); 28 | 29 | int d(String tag, String msg, Throwable tr); 30 | 31 | int i(String tag, String msg); 32 | 33 | int i(String tag, String msg, Throwable tr); 34 | 35 | int w(String tag, String msg); 36 | 37 | int w(String tag, String msg, Throwable tr); 38 | 39 | int e(String tag, String msg); 40 | 41 | int e(String tag, String msg, Throwable tr); 42 | } 43 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_chat_window.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 12 | 13 | 16 | 17 | 18 | 19 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 38 | -------------------------------------------------------------------------------- /app/src/main/java/com/appjishu/starzone/activity/AboutAppActivity.java: -------------------------------------------------------------------------------- 1 | package com.appjishu.starzone.activity; 2 | 3 | import android.content.Intent; 4 | import android.os.Bundle; 5 | import android.widget.TextView; 6 | 7 | import com.appjishu.starzone.R; 8 | import com.appjishu.starzone.constant.AboutInfoConstant; 9 | 10 | import razerdp.github.com.ui.base.BaseTitleBarActivity; 11 | import razerdp.github.com.ui.widget.common.TitleBar; 12 | 13 | public class AboutAppActivity extends BaseTitleBarActivity { 14 | private static final String MY_TAG = "AboutAppAct"; 15 | 16 | private TextView aboutAppTextView; 17 | private TextView websiteView; 18 | 19 | @Override 20 | protected void onCreate(Bundle savedInstanceState) { 21 | super.onCreate(savedInstanceState); 22 | setContentView(R.layout.activity_about_app); 23 | 24 | initView(); 25 | } 26 | 27 | @Override 28 | public void onHandleIntent(Intent intent) { 29 | 30 | } 31 | 32 | @Override 33 | public void onTitleLeftClick() { 34 | super.onBackPressed(); 35 | } 36 | 37 | private void initView() {//必须调用 38 | setTitle(getString(R.string.title_activity_about_app)); 39 | setTitleMode(TitleBar.MODE_LEFT); 40 | setTitleLeftIcon(R.drawable.ic_arrow_back_white_24dp); 41 | 42 | aboutAppTextView = findViewById(R.id.about_app_text); 43 | websiteView=findViewById(R.id.website_view); 44 | aboutAppTextView.setText(AboutInfoConstant.ABOUT_APP_INTRODUCE); 45 | websiteView.setText(AboutInfoConstant.PORTAL_WEBSITE); 46 | } 47 | } 48 | 49 | --------------------------------------------------------------------------------