├── .travis.yml ├── README.md ├── app ├── app.iml ├── build.gradle ├── libs │ ├── SocialSDK_QQZone_1.jar │ ├── SocialSDK_QQZone_2.jar │ ├── SocialSDK_QQZone_3.jar │ ├── SocialSDK_Sina.jar │ ├── SocialSDK_WeiXin_1.jar │ ├── SocialSDK_WeiXin_2.jar │ ├── SocialSDK_tencentWB_1.jar │ ├── SocialSDK_tencentWB_2.jar │ ├── SocialSDK_tencentWB_3.jar │ ├── android-viewbadger.jar │ ├── httpmime-4.1.3.jar │ ├── jsoup-1.8.1.jar │ ├── pinyin4j-2.5.0.jar │ ├── umeng-update-v2.6.0.1.jar │ └── umeng_social_sdk.jar ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── yaoyumeng │ │ └── v2ex2 │ │ └── ApplicationTest.java │ └── main │ ├── AndroidManifest.xml │ ├── V2EX.png │ ├── aidl │ └── com │ │ └── yaoyumeng │ │ └── v2ex2 │ │ └── service │ │ └── INoticeService.aidl │ ├── java │ └── com │ │ └── yaoyumeng │ │ └── v2ex2 │ │ ├── AppConfig.java │ │ ├── Application.java │ │ ├── api │ │ ├── HttpRequestHandler.java │ │ ├── SafeHandler.java │ │ ├── V2EXErrorType.java │ │ ├── V2EXManager.java │ │ └── WrappedJsonHttpResponseHandler.java │ │ ├── broadcast │ │ └── AlarmReceiver.java │ │ ├── database │ │ ├── DatabaseHelper.java │ │ └── V2EXDataSource.java │ │ ├── model │ │ ├── MemberModel.java │ │ ├── NodeListModel.java │ │ ├── NodeModel.java │ │ ├── NotificationListModel.java │ │ ├── NotificationModel.java │ │ ├── PersistenceHelper.java │ │ ├── ProfileModel.java │ │ ├── ReplyModel.java │ │ ├── TopicListModel.java │ │ ├── TopicModel.java │ │ ├── TopicWithReplyListModel.java │ │ ├── V2EXDateModel.java │ │ └── V2EXModel.java │ │ ├── service │ │ └── NoticeService.java │ │ ├── ui │ │ ├── AboutActivity.java │ │ ├── BaseActivity.java │ │ ├── LoginActivity.java │ │ ├── MainActivity.java │ │ ├── MyInfoActivity.java │ │ ├── NodeActivity.java │ │ ├── PhotoViewActivity.java │ │ ├── SettingsActivity.java │ │ ├── TopicActivity.java │ │ ├── TopicAddActivity.java │ │ ├── TopicCommentActivity.java │ │ ├── UserActivity.java │ │ ├── adapter │ │ │ ├── AggregateTopicsAdapter.java │ │ │ ├── AllNodesAdapter.java │ │ │ ├── FavNodesAdapter.java │ │ │ ├── HeaderViewRecyclerAdapter.java │ │ │ ├── NotificationsAdapter.java │ │ │ ├── PhotoViewerPagerAdapter.java │ │ │ ├── ReplyAdapter.java │ │ │ └── TopicsAdapter.java │ │ ├── fragment │ │ │ ├── AllNodesFragment.java │ │ │ ├── BaseFragment.java │ │ │ ├── MyInfoFragment.java │ │ │ ├── NotificationFragment.java │ │ │ ├── PhotoViewFragment.java │ │ │ ├── SettingsFragment.java │ │ │ ├── TopicFragment.java │ │ │ ├── TopicsFragment.java │ │ │ ├── UserFragment.java │ │ │ └── ViewPagerFragment.java │ │ ├── photo │ │ │ ├── HorizontallyScrollable.java │ │ │ ├── ImageUtils.java │ │ │ ├── PhotoView.java │ │ │ ├── PhotoViewCallbacks.java │ │ │ └── PhotoViewPager.java │ │ ├── social │ │ │ ├── CommonDialog.java │ │ │ ├── ShareDialog.java │ │ │ └── ShareHelper.java │ │ ├── swipeback │ │ │ ├── SwipeBackActivity.java │ │ │ ├── SwipeBackActivityHelper.java │ │ │ ├── SwipeBackLayout.java │ │ │ └── ViewDragHelper.java │ │ └── widget │ │ │ ├── ChangeColorIconWithText.java │ │ │ ├── CustomDialog.java │ │ │ ├── CustomSpinner.java │ │ │ ├── DividerItemDecoration.java │ │ │ ├── EnterLayout.java │ │ │ ├── FootUpdate.java │ │ │ ├── IndexScroller.java │ │ │ ├── IndexableRecyclerView.java │ │ │ └── RichTextView.java │ │ ├── utils │ │ ├── AccountUtils.java │ │ ├── AsyncImageGetter.java │ │ ├── ContentUtils.java │ │ ├── FileUtils.java │ │ ├── Html.java │ │ ├── InputUtils.java │ │ ├── MessageUtils.java │ │ ├── NetWorkHelper.java │ │ ├── OnScrollToBottomListener.java │ │ ├── PhoneUtils.java │ │ ├── PinyinAlpha.java │ │ ├── PinyinComparator.java │ │ ├── ScreenUtils.java │ │ ├── SetReadTask.java │ │ └── SimpleTextWatcher.java │ │ └── wxapi │ │ └── WXEntryActivity.java │ ├── jniLibs │ └── armeabi │ │ └── libbspatch.so │ └── res │ ├── anim │ ├── swipeback_stack_right_in.xml │ ├── swipeback_stack_right_out.xml │ ├── swipeback_stack_to_back.xml │ ├── swipeback_stack_to_front.xml │ ├── umeng_socialize_fade_in.xml │ ├── umeng_socialize_fade_out.xml │ ├── umeng_socialize_shareboard_animation_in.xml │ ├── umeng_socialize_shareboard_animation_out.xml │ ├── umeng_socialize_slide_in_from_bottom.xml │ └── umeng_socialize_slide_out_from_bottom.xml │ ├── drawable-hdpi │ ├── dialog_background.9.png │ ├── dialog_bottom_background.9.png │ ├── ic_action_add.png │ ├── ic_action_top.png │ ├── ic_avatar.png │ ├── ic_github.png │ ├── ic_homepage.png │ ├── ic_launcher.png │ ├── ic_location.png │ ├── ic_lock.png │ ├── ic_notifications.png │ ├── ic_person.png │ ├── ic_reply.png │ ├── ic_search.png │ ├── ic_share.png │ ├── ic_star.png │ ├── ic_start_active.png │ ├── ic_twitter.png │ ├── shadow_left.png │ ├── umeng_socialize_light_bar_bg_pad.9.png │ ├── umeng_socialize_nav_bar_bg_pad.9.png │ ├── umeng_socialize_oauth_check_off.png │ ├── umeng_socialize_oauth_check_on.png │ ├── umeng_socialize_share_music.png │ ├── umeng_socialize_share_pic.png │ ├── umeng_socialize_share_video.png │ ├── umeng_update_btn_check_off_focused_holo_light.png │ ├── umeng_update_btn_check_off_holo_light.png │ ├── umeng_update_btn_check_off_pressed_holo_light.png │ ├── umeng_update_btn_check_on_focused_holo_light.png │ ├── umeng_update_btn_check_on_holo_light.png │ ├── umeng_update_btn_check_on_pressed_holo_light.png │ ├── umeng_update_close_bg_normal.png │ └── umeng_update_close_bg_tap.png │ ├── drawable-xhdpi │ ├── checkbox_comment_check.png │ ├── checkbox_comment_normal.png │ ├── ic_launcher.png │ ├── share_icon_copy.png │ ├── share_icon_copy_a.png │ ├── share_icon_more.png │ ├── share_icon_more_a.png │ ├── share_icon_qq.png │ ├── share_icon_qq_a.png │ ├── share_icon_sinaweibo.png │ ├── share_icon_sinaweibo_a.png │ ├── share_icon_wechat.png │ ├── share_icon_wechat_a.png │ ├── share_icon_wechatfriends.png │ └── share_icon_wechatfriends_a.png │ ├── drawable-xxhdpi │ ├── divide_15_top_bottom.png │ ├── edit_select.9.png │ ├── ic_launcher.png │ ├── ic_send_green_24.png │ ├── ic_send_green_24_pressed.png │ ├── ic_send_grey_24.png │ ├── ic_send_white_24.png │ ├── ic_tab_discovery_normal.png │ ├── ic_tab_my_normal.png │ ├── ic_tab_nodes_normal.png │ ├── login_button_normal.9.png │ ├── login_button_press.9.png │ ├── logout_button.9.png │ ├── message_edit_layout.png │ └── user_home_arrow.png │ ├── drawable │ ├── .DS_Store │ ├── checkbox_comment.xml │ ├── common_item_click_selector.xml │ ├── drawer_shadow.9.png │ ├── login_button.xml │ ├── menu_add_selector.xml │ ├── send_icon_selector.xml │ ├── share_icon_copy_link_selector.xml │ ├── share_icon_more_selector.xml │ ├── share_icon_qq_selector.xml │ ├── share_icon_sinaweibo_selector.xml │ ├── share_icon_wechat_selector.xml │ ├── share_icon_wechatfriends_selector.xml │ ├── tab_bg.xml │ ├── tb_munion_icon.xml │ ├── tb_munion_item_selector.xml │ ├── umeng_common_gradient_green.xml │ ├── umeng_common_gradient_orange.xml │ ├── umeng_common_gradient_red.xml │ ├── umeng_socialize_action_back.xml │ ├── umeng_socialize_action_back_normal.png │ ├── umeng_socialize_action_back_selected.png │ ├── umeng_socialize_at_button.xml │ ├── umeng_socialize_at_normal.png │ ├── umeng_socialize_at_selected.png │ ├── umeng_socialize_bind_bg.9.png │ ├── umeng_socialize_button_blue.9.png │ ├── umeng_socialize_button_grey.9.png │ ├── umeng_socialize_button_grey_blue.xml │ ├── umeng_socialize_button_login.xml │ ├── umeng_socialize_button_login_normal.png │ ├── umeng_socialize_button_login_pressed.png │ ├── umeng_socialize_button_red.9.png │ ├── umeng_socialize_button_red_blue.xml │ ├── umeng_socialize_button_white.9.png │ ├── umeng_socialize_button_white_blue.xml │ ├── umeng_socialize_default_avatar.png │ ├── umeng_socialize_douban_off.png │ ├── umeng_socialize_douban_on.png │ ├── umeng_socialize_facebook.png │ ├── umeng_socialize_fetch_image.png │ ├── umeng_socialize_follow_check.xml │ ├── umeng_socialize_follow_off.png │ ├── umeng_socialize_follow_on.png │ ├── umeng_socialize_google.png │ ├── umeng_socialize_light_bar_bg.9.png │ ├── umeng_socialize_location_ic.png │ ├── umeng_socialize_location_off.png │ ├── umeng_socialize_location_on.png │ ├── umeng_socialize_nav_bar_bg.png │ ├── umeng_socialize_oauth_check.xml │ ├── umeng_socialize_oauth_check_off.png │ ├── umeng_socialize_oauth_check_on.png │ ├── umeng_socialize_qq_off.png │ ├── umeng_socialize_qq_on.png │ ├── umeng_socialize_qzone_off.png │ ├── umeng_socialize_qzone_on.png │ ├── umeng_socialize_refersh.png │ ├── umeng_socialize_renren_off.png │ ├── umeng_socialize_renren_on.png │ ├── umeng_socialize_search_icon.png │ ├── umeng_socialize_shape_solid_black.xml │ ├── umeng_socialize_shape_solid_grey.xml │ ├── umeng_socialize_share_to_button.xml │ ├── umeng_socialize_share_transparent_corner.xml │ ├── umeng_socialize_shareboard_item_background.xml │ ├── umeng_socialize_sidebar_normal.xml │ ├── umeng_socialize_sidebar_selected.xml │ ├── umeng_socialize_sidebar_selector.xml │ ├── umeng_socialize_sina_off.png │ ├── umeng_socialize_sina_on.png │ ├── umeng_socialize_title_back_bt.xml │ ├── umeng_socialize_title_back_bt_normal.png │ ├── umeng_socialize_title_back_bt_selected.png │ ├── umeng_socialize_title_right_bt.xml │ ├── umeng_socialize_title_right_bt_normal.png │ ├── umeng_socialize_title_right_bt_selected.png │ ├── umeng_socialize_title_tab_button_left.xml │ ├── umeng_socialize_title_tab_button_right.xml │ ├── umeng_socialize_title_tab_left_normal.png │ ├── umeng_socialize_title_tab_left_pressed.png │ ├── umeng_socialize_title_tab_right_normal.png │ ├── umeng_socialize_title_tab_right_pressed.png │ ├── umeng_socialize_twitter.png │ ├── umeng_socialize_tx_off.png │ ├── umeng_socialize_tx_on.png │ ├── umeng_socialize_wechat.png │ ├── umeng_socialize_wechat_gray.png │ ├── umeng_socialize_window_shadow_pad.xml │ ├── umeng_socialize_wxcircle.png │ ├── umeng_socialize_wxcircle_gray.png │ ├── umeng_socialize_x_button.png │ ├── umeng_update_button_cancel_bg_focused.xml │ ├── umeng_update_button_cancel_bg_normal.xml │ ├── umeng_update_button_cancel_bg_selector.xml │ ├── umeng_update_button_cancel_bg_tap.xml │ ├── umeng_update_button_check_selector.xml │ ├── umeng_update_button_close_bg_selector.xml │ ├── umeng_update_button_ok_bg_focused.xml │ ├── umeng_update_button_ok_bg_normal.xml │ ├── umeng_update_button_ok_bg_selector.xml │ ├── umeng_update_button_ok_bg_tap.xml │ ├── umeng_update_dialog_bg.xml │ ├── umeng_update_title_bg.xml │ └── umeng_update_wifi_disable.png │ ├── layout-sw550dp-large │ ├── umeng_socialize_full_alert_dialog.xml │ ├── umeng_socialize_oauth_dialog.xml │ ├── umeng_socialize_post_share.xml │ └── umeng_socialize_titile_bar.xml │ ├── layout-v9 │ └── umeng_common_download_notification.xml │ ├── layout │ ├── activity_about.xml │ ├── activity_container.xml │ ├── activity_login.xml │ ├── activity_main.xml │ ├── activity_photo_view.xml │ ├── activity_topic_add.xml │ ├── activity_topic_comment.xml │ ├── common_enter_layout.xml │ ├── dialog_common.xml │ ├── dialog_cotent_share.xml │ ├── divide_15_top_bottom.xml │ ├── divide_1_12.xml │ ├── fragment_all_nodes.xml │ ├── fragment_comment_dialog.xml │ ├── fragment_my_info.xml │ ├── fragment_notification.xml │ ├── fragment_photo_view.xml │ ├── fragment_settings.xml │ ├── fragment_topic.xml │ ├── fragment_topics.xml │ ├── fragment_user.xml │ ├── fragment_viewpager.xml │ ├── item_node.xml │ ├── item_notification.xml │ ├── item_reply.xml │ ├── item_tab_allnodes.xml │ ├── item_tab_discovery.xml │ ├── item_tab_myinfo.xml │ ├── item_topic.xml │ ├── item_topic_more.xml │ ├── layout_select_node.xml │ ├── list_item_common_arrow.xml │ ├── listview_foot.xml │ ├── tb_munion_aditem.xml │ ├── tb_munion_adview.xml │ ├── umeng_bak_at_list.xml │ ├── umeng_bak_at_list_item.xml │ ├── umeng_bak_platform_item_simple.xml │ ├── umeng_bak_platform_selector_dialog.xml │ ├── umeng_common_download_notification.xml │ ├── umeng_socialize_at_item.xml │ ├── umeng_socialize_at_overlay.xml │ ├── umeng_socialize_at_view.xml │ ├── umeng_socialize_base_alert_dialog.xml │ ├── umeng_socialize_base_alert_dialog_button.xml │ ├── umeng_socialize_bind_select_dialog.xml │ ├── umeng_socialize_composer_header.xml │ ├── umeng_socialize_failed_load_page.xml │ ├── umeng_socialize_full_alert_dialog.xml │ ├── umeng_socialize_full_alert_dialog_item.xml │ ├── umeng_socialize_full_curtain.xml │ ├── umeng_socialize_oauth_dialog.xml │ ├── umeng_socialize_post_share.xml │ ├── umeng_socialize_shareboard_item.xml │ ├── umeng_socialize_simple_spinner_item.xml │ ├── umeng_socialize_titile_bar.xml │ └── umeng_update_dialog.xml │ ├── menu │ ├── menu_nodes.xml │ ├── menu_topic_add.xml │ ├── menu_topic_comment.xml │ ├── node.xml │ └── topic.xml │ ├── raw │ └── notificationsound.wav │ ├── values │ ├── attr.xml │ ├── color.xml │ ├── dimens.xml │ ├── strings.xml │ ├── styles.xml │ ├── tb_munion_strings.xml │ ├── umeng_common_strings.xml │ ├── umeng_socialize_colors.xml │ ├── umeng_socialize_strings.xml │ ├── umeng_socialize_style.xml │ └── umeng_update_string.xml │ └── xml │ └── settings.xml ├── build.gradle ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── jazzylistview ├── build.gradle └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── twotoasters │ │ └── jazzylistview │ │ ├── JazzyEffect.java │ │ ├── JazzyGridView.java │ │ ├── JazzyHelper.java │ │ ├── JazzyListView.java │ │ ├── effects │ │ ├── CardsEffect.java │ │ ├── CurlEffect.java │ │ ├── FadeEffect.java │ │ ├── FanEffect.java │ │ ├── FlipEffect.java │ │ ├── FlyEffect.java │ │ ├── GrowEffect.java │ │ ├── HelixEffect.java │ │ ├── ReverseFlyEffect.java │ │ ├── SlideInEffect.java │ │ ├── StandardEffect.java │ │ ├── TiltEffect.java │ │ ├── TwirlEffect.java │ │ ├── WaveEffect.java │ │ └── ZipperEffect.java │ │ └── recyclerview │ │ └── JazzyRecyclerViewScrollListener.java │ └── res │ └── values │ └── attrs.xml ├── pagerslidingtabstrip ├── AndroidManifest.xml ├── build.gradle ├── res │ ├── drawable │ │ └── background_tab.xml │ └── values │ │ ├── attrs.xml │ │ └── colors.xml └── src │ └── com │ └── astuetz │ └── PagerSlidingTabStrip.java └── settings.gradle /.travis.yml: -------------------------------------------------------------------------------- 1 | language: android 2 | jdk: 3 | - oraclejdk8 4 | 5 | # Turning off caching to avoid caching Issues 6 | # cache: false 7 | # Using the new Container-Based Infrastructure 8 | sudo: false 9 | 10 | env: 11 | global: 12 | # Initiating clean Gradle output 13 | - TERM=dumb 14 | # Amount of memory granted to Gradle JVM 15 | - GRADLE_OPTS="-Xmx1500m -XX:MaxPermSize=1500m" 16 | # General Android settings used in builds 17 | - ANDROID_TARGET=android-21 18 | 19 | before_install: 20 | # Making sure gradlew has executable permissions 21 | - chmod a+x gradlew 22 | 23 | android: 24 | components: 25 | # We are using the latest revision of Android SDK Tools 26 | - tools 27 | - platform-tools 28 | - android-21 29 | - build-tools-21.1.2 30 | - extra-android-m2repository 31 | - extra-android-support 32 | - extra-google-m2repository 33 | 34 | script: 35 | 36 | ./gradlew build 37 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## V2EX-android 2 | 3 | V2EX社区客户端,非官方。 4 | 5 | #### Google Play下载 6 | [![Google Play](http://developer.android.com/images/brand/en_generic_rgb_wo_45.png)](https://play.google.com/store/apps/details?id=com.yaoyumeng.v2ex2) 7 | 8 | 9 | ### 支持功能 10 | 11 | * 话题查看 12 | * 节点查看和按字母搜索 13 | * 用户资料查看 14 | * 话题回复 15 | * 话题创建 16 | * 未读提醒查看 17 | * 常用分类节点话题浏览 18 | * 节点下的话题翻页 19 | * 话题回复翻页 20 | * 滑动手势返回 21 | 22 | 23 | ### 编译需求 24 | 25 | * JDK 1.7+ 26 | * Android Studio 1.0+ 27 | * Android SDK r21+ 28 | 29 | 30 | ### LICENSE 31 | 32 | Copyright (C) 2015 YAO Wei 33 | 34 | This program is free software: you can redistribute it and/or modify 35 | it under the terms of the GNU General Public License as published by 36 | the Free Software Foundation, either version 3 of the License, or 37 | (at your option) any later version. 38 | 39 | This program is distributed in the hope that it will be useful, 40 | but WITHOUT ANY WARRANTY; without even the implied warranty of 41 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 42 | GNU General Public License for more details. 43 | 44 | You should have received a copy of the GNU General Public License 45 | along with this program. If not, see . 46 | -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 21 5 | buildToolsVersion "21.1.2" 6 | 7 | defaultConfig { 8 | applicationId "com.yaoyumeng.v2ex2" 9 | minSdkVersion 15 10 | targetSdkVersion 21 11 | versionCode 70 12 | versionName "2.9.2" 13 | } 14 | buildTypes { 15 | release { 16 | minifyEnabled false 17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 18 | } 19 | } 20 | lintOptions { 21 | abortOnError false 22 | } 23 | } 24 | 25 | dependencies { 26 | compile fileTree(dir: 'libs', include: ['*.jar']) 27 | compile 'com.android.support:support-v4:21.+' 28 | compile 'com.android.support:support-v13:21.+' 29 | compile 'com.android.support:appcompat-v7:21.0.0' 30 | compile 'com.android.support:cardview-v7:21.0.3' 31 | compile 'com.android.support:recyclerview-v7:21.0.3' 32 | compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.3' 33 | compile 'com.loopj.android:android-async-http:1.4.6' 34 | compile 'com.umeng.analytics:analytics:latest.integration' 35 | compile 'com.melnykov:floatingactionbutton:1.3.0' 36 | compile 'de.hdodenhof:circleimageview:1.3.0' 37 | compile 'org.ccil.cowan.tagsoup:tagsoup:1.2.1' 38 | compile project(':jazzylistview') 39 | compile project(':pagerslidingtabstrip') 40 | } 41 | -------------------------------------------------------------------------------- /app/libs/SocialSDK_QQZone_1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/libs/SocialSDK_QQZone_1.jar -------------------------------------------------------------------------------- /app/libs/SocialSDK_QQZone_2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/libs/SocialSDK_QQZone_2.jar -------------------------------------------------------------------------------- /app/libs/SocialSDK_QQZone_3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/libs/SocialSDK_QQZone_3.jar -------------------------------------------------------------------------------- /app/libs/SocialSDK_Sina.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/libs/SocialSDK_Sina.jar -------------------------------------------------------------------------------- /app/libs/SocialSDK_WeiXin_1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/libs/SocialSDK_WeiXin_1.jar -------------------------------------------------------------------------------- /app/libs/SocialSDK_WeiXin_2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/libs/SocialSDK_WeiXin_2.jar -------------------------------------------------------------------------------- /app/libs/SocialSDK_tencentWB_1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/libs/SocialSDK_tencentWB_1.jar -------------------------------------------------------------------------------- /app/libs/SocialSDK_tencentWB_2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/libs/SocialSDK_tencentWB_2.jar -------------------------------------------------------------------------------- /app/libs/SocialSDK_tencentWB_3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/libs/SocialSDK_tencentWB_3.jar -------------------------------------------------------------------------------- /app/libs/android-viewbadger.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/libs/android-viewbadger.jar -------------------------------------------------------------------------------- /app/libs/httpmime-4.1.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/libs/httpmime-4.1.3.jar -------------------------------------------------------------------------------- /app/libs/jsoup-1.8.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/libs/jsoup-1.8.1.jar -------------------------------------------------------------------------------- /app/libs/pinyin4j-2.5.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/libs/pinyin4j-2.5.0.jar -------------------------------------------------------------------------------- /app/libs/umeng-update-v2.6.0.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/libs/umeng-update-v2.6.0.1.jar -------------------------------------------------------------------------------- /app/libs/umeng_social_sdk.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/libs/umeng_social_sdk.jar -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /Users/liuyue/Workspace/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 | -------------------------------------------------------------------------------- /app/src/androidTest/java/com/yaoyumeng/v2ex2/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package com.yaoyumeng.v2ex2; 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/V2EX.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/V2EX.png -------------------------------------------------------------------------------- /app/src/main/aidl/com/yaoyumeng/v2ex2/service/INoticeService.aidl: -------------------------------------------------------------------------------- 1 | package com.yaoyumeng.v2ex2.service; 2 | 3 | interface INoticeService 4 | { 5 | void scheduleNotice(); 6 | void requestNotice(); 7 | } -------------------------------------------------------------------------------- /app/src/main/java/com/yaoyumeng/v2ex2/api/HttpRequestHandler.java: -------------------------------------------------------------------------------- 1 | package com.yaoyumeng.v2ex2.api; 2 | 3 | /** 4 | * Created by yw on 2015/5/22. 5 | */ 6 | public interface HttpRequestHandler { 7 | public void onSuccess(E data); 8 | 9 | public void onSuccess(E data, int totalPages, int currentPage); 10 | 11 | public void onFailure(String error); 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/java/com/yaoyumeng/v2ex2/api/SafeHandler.java: -------------------------------------------------------------------------------- 1 | package com.yaoyumeng.v2ex2.api; 2 | 3 | /** 4 | * Created by yw on 2015/5/22. 5 | */ 6 | public class SafeHandler{ 7 | public static void onFailure (HttpRequestHandler handler, String error){ 8 | try{ 9 | handler.onFailure(error); 10 | } catch (Exception e){ 11 | e.printStackTrace(); 12 | } 13 | } 14 | 15 | public static void onSuccess(HttpRequestHandler handler, E data){ 16 | try{ 17 | handler.onSuccess(data); 18 | } catch (Exception e){ 19 | e.printStackTrace(); 20 | } 21 | } 22 | 23 | public static void onSuccess(HttpRequestHandler handler, E data, int totalPages, int currentPage){ 24 | try{ 25 | handler.onSuccess(data, totalPages, currentPage); 26 | } catch (Exception e){ 27 | e.printStackTrace(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /app/src/main/java/com/yaoyumeng/v2ex2/broadcast/AlarmReceiver.java: -------------------------------------------------------------------------------- 1 | package com.yaoyumeng.v2ex2.broadcast; 2 | 3 | import android.content.BroadcastReceiver; 4 | import android.content.Context; 5 | import android.content.Intent; 6 | 7 | import com.yaoyumeng.v2ex2.service.NoticeService; 8 | 9 | public class AlarmReceiver extends BroadcastReceiver { 10 | 11 | @Override 12 | public void onReceive(Context context, Intent intent) { 13 | context.sendBroadcast(new Intent(NoticeService.INTENT_ACTION_REQUEST)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/java/com/yaoyumeng/v2ex2/model/MemberModel.java: -------------------------------------------------------------------------------- 1 | package com.yaoyumeng.v2ex2.model; 2 | 3 | import android.os.Parcel; 4 | import android.os.Parcelable; 5 | 6 | import org.json.JSONException; 7 | import org.json.JSONObject; 8 | 9 | public class MemberModel extends V2EXModel implements Parcelable { 10 | public static final Creator CREATOR = new Creator() { 11 | @Override 12 | public MemberModel createFromParcel(Parcel source) { 13 | return new MemberModel(source); 14 | } 15 | 16 | @Override 17 | public MemberModel[] newArray(int size) { 18 | return new MemberModel[size]; 19 | } 20 | }; 21 | private static final long serialVersionUID = 2015050102L; 22 | public int id; 23 | public String username; 24 | public String tagline; 25 | public String avatar; //73*73 26 | public String website; 27 | public String github; 28 | public String twitter; 29 | public String location; 30 | 31 | public MemberModel() { 32 | } 33 | 34 | private MemberModel(Parcel in) { 35 | id = in.readInt(); 36 | String[] strings = new String[7]; 37 | in.readStringArray(strings); 38 | username = strings[0]; 39 | tagline = strings[1]; 40 | avatar = strings[2]; 41 | website = strings[3]; 42 | github = strings[4]; 43 | twitter = strings[5]; 44 | location = strings[6]; 45 | } 46 | 47 | public void parse(JSONObject jsonObject) throws JSONException { 48 | id = jsonObject.getInt("id"); 49 | username = jsonObject.getString("username"); 50 | tagline = jsonObject.getString("tagline"); 51 | website = jsonObject.optString("website"); 52 | github = jsonObject.optString("github"); 53 | twitter = jsonObject.optString("twitter"); 54 | location = jsonObject.optString("location"); 55 | if (!website.isEmpty() 56 | && !website.startsWith("http://") 57 | && !website.startsWith("https://")) 58 | website = "http://" + website; 59 | avatar = jsonObject.getString("avatar_large"); 60 | if (avatar.startsWith("//")) { 61 | avatar = "http:" + avatar; 62 | } 63 | } 64 | 65 | @Override 66 | public int describeContents() { 67 | return 0; 68 | } 69 | 70 | @Override 71 | public void writeToParcel(Parcel dest, int flags) { 72 | dest.writeInt(id); 73 | dest.writeStringArray(new String[]{ 74 | username, 75 | tagline, 76 | avatar, 77 | website, 78 | github, 79 | twitter, 80 | location 81 | }); 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /app/src/main/java/com/yaoyumeng/v2ex2/model/NodeListModel.java: -------------------------------------------------------------------------------- 1 | package com.yaoyumeng.v2ex2.model; 2 | 3 | import com.yaoyumeng.v2ex2.api.V2EXManager; 4 | 5 | import org.jsoup.Jsoup; 6 | import org.jsoup.nodes.Document; 7 | import org.jsoup.nodes.Element; 8 | import org.jsoup.select.Elements; 9 | 10 | import java.util.ArrayList; 11 | 12 | /** 13 | * Created by yw on 2017/4/11. 14 | */ 15 | public class NodeListModel extends ArrayList { 16 | 17 | private static final long serialVersionUID = 2017041112L; 18 | 19 | public void parse(String responseBody) throws Exception { 20 | Document doc = Jsoup.parse(responseBody); 21 | Element body = doc.body(); 22 | Elements elements = body.getElementsByAttributeValue("class", "grid_item"); 23 | for (Element el : elements) { 24 | NodeModel node = new NodeModel(); 25 | 26 | node.title = el.text(); 27 | String[] tmp = node.title.split(" "); 28 | if(tmp.length == 2) 29 | node.title = tmp[0]; 30 | 31 | node.url = el.attr("href"); 32 | tmp = node.url.split("/"); 33 | if(tmp.length >= 1) 34 | node.name = tmp[tmp.length-1]; 35 | else 36 | node.name = node.title; 37 | if (node.url.startsWith("//")) 38 | node.url = "http:" + node.url; 39 | else 40 | node.url = V2EXManager.getBaseUrl() + node.url; 41 | 42 | add(node); 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /app/src/main/java/com/yaoyumeng/v2ex2/model/NotificationListModel.java: -------------------------------------------------------------------------------- 1 | package com.yaoyumeng.v2ex2.model; 2 | 3 | import com.yaoyumeng.v2ex2.utils.ContentUtils; 4 | 5 | import org.jsoup.Jsoup; 6 | import org.jsoup.nodes.Document; 7 | import org.jsoup.nodes.Element; 8 | import org.jsoup.select.Elements; 9 | 10 | import java.util.ArrayList; 11 | 12 | /** 13 | * Created by yw on 2015/6/6. 14 | */ 15 | public class NotificationListModel extends ArrayList { 16 | 17 | private static final long serialVersionUID = 2015050109L; 18 | 19 | public int totalPage = 1; 20 | public int currentPage = 1; 21 | 22 | public void parse(String responseBody) throws Exception { 23 | Document doc = Jsoup.parse(responseBody); 24 | Element body = doc.body(); 25 | Elements elements = body.getElementsByAttributeValue("class", "cell"); 26 | for (Element el : elements) { 27 | NotificationModel notification = new NotificationModel(); 28 | if (notification.parse(el)) 29 | add(notification); 30 | } 31 | 32 | int[] pages = ContentUtils.parsePage(body); 33 | currentPage = pages[0]; 34 | totalPage = pages[1]; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /app/src/main/java/com/yaoyumeng/v2ex2/model/V2EXDateModel.java: -------------------------------------------------------------------------------- 1 | package com.yaoyumeng.v2ex2.model; 2 | 3 | import android.text.format.DateUtils; 4 | 5 | import java.text.SimpleDateFormat; 6 | import java.util.Date; 7 | 8 | /** 9 | * Created by yw on 2015/5/27. 10 | */ 11 | public class V2EXDateModel { 12 | 13 | public static long toLong(String dateString) { 14 | String[] stringArray = dateString.split(" "); 15 | long created = System.currentTimeMillis() / 1000; 16 | int how = 0; 17 | try { 18 | how = Integer.parseInt(stringArray[0]); 19 | } catch (Exception e) { 20 | 21 | } 22 | String subString = stringArray[1].substring(0, 1); 23 | if (subString.equals("分")) { 24 | created -= 60 * how; 25 | } else if (subString.equals("小")) { 26 | created -= 3600 * how; 27 | } else if (subString.equals("天")) { 28 | created -= 24 * 3600 * how; 29 | } else { 30 | try { 31 | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); 32 | Date date = sdf.parse(dateString); 33 | created = date.getTime() / 1000; 34 | } catch (Exception e) { 35 | } 36 | } 37 | 38 | return created; 39 | } 40 | 41 | public static String toString(long ts) { 42 | if(ts == -1) return ""; 43 | long created = ts * 1000; 44 | long now = System.currentTimeMillis(); 45 | long difference = now - created; 46 | CharSequence text = (difference >= 0 && difference <= DateUtils.MINUTE_IN_MILLIS) ? 47 | "刚刚" : 48 | DateUtils.getRelativeTimeSpanString( 49 | created, 50 | now, 51 | DateUtils.MINUTE_IN_MILLIS, 52 | DateUtils.FORMAT_ABBREV_RELATIVE); 53 | return text.toString(); 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /app/src/main/java/com/yaoyumeng/v2ex2/model/V2EXModel.java: -------------------------------------------------------------------------------- 1 | package com.yaoyumeng.v2ex2.model; 2 | 3 | import org.json.JSONException; 4 | import org.json.JSONObject; 5 | 6 | import java.io.Serializable; 7 | 8 | /** 9 | * Created by yw on 2015/5/2. 10 | */ 11 | public abstract class V2EXModel implements Serializable { 12 | private static final long serialVersionUID = 2015050101L; 13 | 14 | abstract public void parse(JSONObject jsonObject) throws JSONException; 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/java/com/yaoyumeng/v2ex2/ui/SettingsActivity.java: -------------------------------------------------------------------------------- 1 | package com.yaoyumeng.v2ex2.ui; 2 | 3 | import android.os.Bundle; 4 | 5 | import com.yaoyumeng.v2ex2.R; 6 | import com.yaoyumeng.v2ex2.ui.fragment.SettingsFragment; 7 | import com.yaoyumeng.v2ex2.ui.swipeback.SwipeBackActivity; 8 | 9 | public class SettingsActivity extends SwipeBackActivity { 10 | @Override 11 | protected void onCreate(Bundle savedInstanceState) { 12 | super.onCreate(savedInstanceState); 13 | setContentView(R.layout.activity_container); 14 | 15 | getFragmentManager().beginTransaction().add(R.id.container, new SettingsFragment()).commitAllowingStateLoss(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /app/src/main/java/com/yaoyumeng/v2ex2/ui/adapter/FavNodesAdapter.java: -------------------------------------------------------------------------------- 1 | package com.yaoyumeng.v2ex2.ui.adapter; 2 | 3 | import android.os.Bundle; 4 | import android.support.v4.app.Fragment; 5 | import android.support.v4.app.FragmentManager; 6 | import android.support.v4.app.FragmentStatePagerAdapter; 7 | 8 | import com.yaoyumeng.v2ex2.model.NodeModel; 9 | import com.yaoyumeng.v2ex2.ui.fragment.TopicsFragment; 10 | 11 | import java.util.ArrayList; 12 | import java.util.List; 13 | 14 | public class FavNodesAdapter extends FragmentStatePagerAdapter { 15 | private List mFragments = new ArrayList(); 16 | private List mNodes; 17 | 18 | public FavNodesAdapter(FragmentManager fm, ArrayList nodes) { 19 | super(fm); 20 | mNodes = nodes; 21 | initFragments(); 22 | } 23 | 24 | @Override 25 | public CharSequence getPageTitle(int position) { 26 | return mNodes.get(position).title; 27 | } 28 | 29 | @Override 30 | public Fragment getItem(int position) { 31 | return mFragments.get(position); 32 | } 33 | 34 | @Override 35 | public int getCount() { 36 | return mNodes.size(); 37 | } 38 | 39 | private void initFragments() { 40 | for (int i = 0; i < mNodes.size(); i++) { 41 | TopicsFragment nodeFragment = new TopicsFragment(); 42 | Bundle argument = new Bundle(); 43 | argument.putString("node_name", mNodes.get(i).name); 44 | argument.putBoolean("show_menu", false); 45 | nodeFragment.setArguments(argument); 46 | mFragments.add(nodeFragment); 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /app/src/main/java/com/yaoyumeng/v2ex2/ui/adapter/PhotoViewerPagerAdapter.java: -------------------------------------------------------------------------------- 1 | package com.yaoyumeng.v2ex2.ui.adapter; 2 | 3 | import android.support.v4.app.Fragment; 4 | import android.support.v4.app.FragmentManager; 5 | import android.support.v4.app.FragmentStatePagerAdapter; 6 | import android.support.v4.view.PagerAdapter; 7 | import android.view.ViewGroup; 8 | 9 | import com.yaoyumeng.v2ex2.ui.fragment.PhotoViewFragment; 10 | 11 | import java.util.ArrayList; 12 | import java.util.HashMap; 13 | import java.util.List; 14 | 15 | public class PhotoViewerPagerAdapter extends FragmentStatePagerAdapter { 16 | 17 | protected final HashMap mObjectRowMap = new HashMap(); 18 | private ArrayList mList = new ArrayList(); 19 | 20 | public PhotoViewerPagerAdapter(FragmentManager fm) { 21 | super(fm); 22 | } 23 | 24 | @Override 25 | public Object instantiateItem(ViewGroup container, int position) { 26 | final Object obj = super.instantiateItem(container, position); 27 | if (obj != null) { 28 | mObjectRowMap.put(obj, position); 29 | } 30 | return obj; 31 | } 32 | 33 | @Override 34 | public void destroyItem(ViewGroup container, int position, Object object) { 35 | mObjectRowMap.remove(object); 36 | super.destroyItem(container, position, object); 37 | } 38 | 39 | @Override 40 | public Fragment getItem(int position) { 41 | return PhotoViewFragment.newInstance(mList.get(position), position); 42 | } 43 | 44 | @Override 45 | public int getItemPosition(Object object) { 46 | final Integer rowId = mObjectRowMap.get(object); 47 | if (rowId == null) { 48 | return PagerAdapter.POSITION_NONE; 49 | } else { 50 | return rowId; 51 | } 52 | } 53 | 54 | @Override 55 | public int getCount() { 56 | if (mList != null) { 57 | return mList.size(); 58 | } else { 59 | return 0; 60 | } 61 | } 62 | 63 | public ArrayList getData() { 64 | return mList; 65 | } 66 | 67 | public void setData(List datas) { 68 | mList.clear(); 69 | mList.addAll(datas); 70 | notifyDataSetChanged(); 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /app/src/main/java/com/yaoyumeng/v2ex2/ui/fragment/BaseFragment.java: -------------------------------------------------------------------------------- 1 | package com.yaoyumeng.v2ex2.ui.fragment; 2 | 3 | import android.os.Bundle; 4 | import android.support.v4.app.Fragment; 5 | 6 | import com.umeng.analytics.MobclickAgent; 7 | import com.yaoyumeng.v2ex2.model.ProfileModel; 8 | import com.yaoyumeng.v2ex2.ui.BaseActivity; 9 | import com.yaoyumeng.v2ex2.ui.widget.FootUpdate; 10 | import com.yaoyumeng.v2ex2.utils.AccountUtils; 11 | 12 | /** 13 | * Created by yw on 2015/5/3. 14 | */ 15 | public class BaseFragment extends Fragment implements AccountUtils.OnAccountListener { 16 | 17 | protected boolean mIsLogin; 18 | protected ProfileModel mLoginProfile; 19 | protected BackHandledInterface mBackHandledInterface; 20 | 21 | protected FootUpdate mFootUpdate = new FootUpdate(); 22 | 23 | public static interface BackHandledInterface { 24 | public abstract void setSelectedFragment(BaseFragment selectedFragment); 25 | } 26 | 27 | @Override 28 | public void onCreate(Bundle savedInstanceState) { 29 | super.onCreate(savedInstanceState); 30 | mIsLogin = AccountUtils.isLogined(getActivity()); 31 | if (mIsLogin) 32 | mLoginProfile = AccountUtils.readLoginMember(getActivity()); 33 | AccountUtils.registerAccountListener(this); 34 | 35 | mBackHandledInterface = (BackHandledInterface) getActivity(); 36 | } 37 | 38 | @Override 39 | public void onStart() { 40 | super.onStart(); 41 | //告诉FragmentActivity,当前Fragment在栈顶 42 | mBackHandledInterface.setSelectedFragment(this); 43 | } 44 | 45 | @Override 46 | public void onResume() { 47 | super.onResume(); 48 | MobclickAgent.onPageStart(this.toString()); 49 | } 50 | 51 | @Override 52 | public void onPause() { 53 | super.onPause(); 54 | MobclickAgent.onPageEnd(this.toString()); 55 | } 56 | 57 | @Override 58 | public void onDestroy() { 59 | AccountUtils.unregisterAccountListener(this); 60 | super.onDestroy(); 61 | } 62 | 63 | @Override 64 | public void onLogout() { 65 | mIsLogin = false; 66 | } 67 | 68 | @Override 69 | public void onLogin(ProfileModel profile) { 70 | mIsLogin = true; 71 | mLoginProfile = profile; 72 | } 73 | 74 | public boolean onBackPressed() { 75 | return false; 76 | } 77 | 78 | 79 | final public BaseActivity getBaseActivity() { 80 | return ((BaseActivity) super.getActivity()); 81 | } 82 | 83 | final public void showProgress(int messageId) { 84 | getBaseActivity().showProgressBar(messageId); 85 | } 86 | 87 | final public void showProgress(boolean show) { 88 | getBaseActivity().showProgressBar(show); 89 | } 90 | } 91 | -------------------------------------------------------------------------------- /app/src/main/java/com/yaoyumeng/v2ex2/ui/photo/HorizontallyScrollable.java: -------------------------------------------------------------------------------- 1 | package com.yaoyumeng.v2ex2.ui.photo; 2 | 3 | /** 4 | * Created by yw on 2015/6/28. 5 | * Interface for components that are internally scrollable left-to-right. 6 | */ 7 | public interface HorizontallyScrollable { 8 | /** 9 | * Return {@code true} if the component needs to receive right-to-left 10 | * touch movements. 11 | * 12 | * @param origX the raw x coordinate of the initial touch 13 | * @param origY the raw y coordinate of the initial touch 14 | */ 15 | 16 | public boolean interceptMoveLeft(float origX, float origY); 17 | 18 | /** 19 | * Return {@code true} if the component needs to receive left-to-right 20 | * touch movements. 21 | * 22 | * @param origX the raw x coordinate of the initial touch 23 | * @param origY the raw y coordinate of the initial touch 24 | */ 25 | public boolean interceptMoveRight(float origX, float origY); 26 | } 27 | -------------------------------------------------------------------------------- /app/src/main/java/com/yaoyumeng/v2ex2/ui/photo/PhotoViewCallbacks.java: -------------------------------------------------------------------------------- 1 | package com.yaoyumeng.v2ex2.ui.photo; 2 | 3 | import android.support.v4.app.Fragment; 4 | 5 | public interface PhotoViewCallbacks { 6 | 7 | /** 8 | * Listener to be invoked for screen events. 9 | */ 10 | public static interface OnScreenListener { 11 | 12 | /** 13 | * A new view has been activated and the previous view de-activated. 14 | */ 15 | public void onViewActivated(); 16 | 17 | /** 18 | * Called when a right-to-left touch move intercept is about to occur. 19 | * 20 | * @param origX the raw x coordinate of the initial touch 21 | * @param origY the raw y coordinate of the initial touch 22 | * @return {@code true} if the touch should be intercepted. 23 | */ 24 | public boolean onInterceptMoveLeft(float origX, float origY); 25 | 26 | /** 27 | * Called when a left-to-right touch move intercept is about to occur. 28 | * 29 | * @param origX the raw x coordinate of the initial touch 30 | * @param origY the raw y coordinate of the initial touch 31 | * @return {@code true} if the touch should be intercepted. 32 | */ 33 | public boolean onInterceptMoveRight(float origX, float origY); 34 | } 35 | 36 | public void addScreenListener(int position, OnScreenListener listener); 37 | 38 | public void removeScreenListener(int position); 39 | 40 | public boolean isFragmentActive(Fragment fragment); 41 | } 42 | -------------------------------------------------------------------------------- /app/src/main/java/com/yaoyumeng/v2ex2/ui/social/ShareDialog.java: -------------------------------------------------------------------------------- 1 | package com.yaoyumeng.v2ex2.ui.social; 2 | 3 | import android.content.Context; 4 | import android.os.Bundle; 5 | import android.view.Display; 6 | import android.view.Gravity; 7 | import android.view.View; 8 | import android.view.WindowManager; 9 | 10 | import com.yaoyumeng.v2ex2.R; 11 | 12 | /** 13 | * 分享界面dialog 14 | * 15 | * @author kymjs 16 | */ 17 | public class ShareDialog extends CommonDialog implements 18 | View.OnClickListener { 19 | 20 | public interface OnSharePlatformClick { 21 | void onPlatformClick(int id); 22 | } 23 | 24 | private OnSharePlatformClick mListener; 25 | 26 | private ShareDialog(Context context, int defStyle) { 27 | super(context, defStyle); 28 | init(); 29 | } 30 | 31 | public ShareDialog(Context context) { 32 | //this(context, R.style.dialog_share); 33 | super(context); 34 | init(); 35 | } 36 | 37 | private void init() { 38 | View shareView = getLayoutInflater().inflate( 39 | R.layout.dialog_cotent_share, null); 40 | shareView.findViewById(R.id.ly_share_qq).setOnClickListener(this); 41 | shareView.findViewById(R.id.ly_share_copy_link) 42 | .setOnClickListener(this); 43 | shareView.findViewById(R.id.ly_share_more_option).setOnClickListener( 44 | this); 45 | shareView.findViewById(R.id.ly_share_sina_weibo).setOnClickListener( 46 | this); 47 | shareView.findViewById(R.id.ly_share_weichat).setOnClickListener(this); 48 | shareView.findViewById(R.id.ly_share_weichat_circle) 49 | .setOnClickListener(this); 50 | setContent(shareView, 0); 51 | } 52 | 53 | @Override 54 | protected void onCreate(Bundle bundle) { 55 | super.onCreate(bundle); 56 | getWindow().setGravity(Gravity.CENTER); 57 | 58 | WindowManager m = getWindow().getWindowManager(); 59 | Display d = m.getDefaultDisplay(); 60 | WindowManager.LayoutParams p = getWindow().getAttributes(); 61 | p.width = d.getWidth(); 62 | getWindow().setAttributes(p); 63 | } 64 | 65 | public void setOnPlatformClickListener(OnSharePlatformClick lis) { 66 | mListener = lis; 67 | } 68 | 69 | @Override 70 | public void onClick(View v) { 71 | final int id = v.getId(); 72 | if (mListener != null) { 73 | mListener.onPlatformClick(id); 74 | } 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /app/src/main/java/com/yaoyumeng/v2ex2/ui/swipeback/SwipeBackActivity.java: -------------------------------------------------------------------------------- 1 | package com.yaoyumeng.v2ex2.ui.swipeback; 2 | 3 | import android.os.Bundle; 4 | import android.view.KeyEvent; 5 | import android.view.MenuItem; 6 | import android.view.View; 7 | 8 | import com.yaoyumeng.v2ex2.R; 9 | import com.yaoyumeng.v2ex2.ui.BaseActivity; 10 | 11 | public class SwipeBackActivity extends BaseActivity { 12 | private SwipeBackActivityHelper mHelper; 13 | 14 | @Override 15 | protected void onCreate(Bundle savedInstanceState) { 16 | super.onCreate(savedInstanceState); 17 | mHelper = new SwipeBackActivityHelper(this); 18 | mHelper.onActivityCreate(); 19 | 20 | getSupportActionBar().setDisplayHomeAsUpEnabled(true); 21 | getSupportActionBar().setHomeButtonEnabled(true); 22 | overridePendingTransition(R.anim.swipeback_stack_right_in, 23 | R.anim.swipeback_stack_to_back); 24 | } 25 | 26 | @Override 27 | protected void onPostCreate(Bundle savedInstanceState) { 28 | super.onPostCreate(savedInstanceState); 29 | mHelper.onPostCreate(); 30 | } 31 | 32 | @Override 33 | public boolean onKeyUp(int keyCode, KeyEvent event) { 34 | if(keyCode == KeyEvent.KEYCODE_BACK){ 35 | onBackPressed(); 36 | return true; 37 | }else{ 38 | return super.onKeyUp(keyCode, event); 39 | } 40 | } 41 | 42 | @Override 43 | public View findViewById(int id) { 44 | View v = super.findViewById(id); 45 | if (v == null && mHelper != null) 46 | return mHelper.findViewById(id); 47 | return v; 48 | } 49 | 50 | public SwipeBackLayout getSwipeBackLayout() { 51 | return mHelper.getSwipeBackLayout(); 52 | } 53 | 54 | @Override 55 | public void onBackPressed() { 56 | super.onBackPressed(); 57 | overridePendingTransition(R.anim.swipeback_stack_to_front, 58 | R.anim.swipeback_stack_right_out); 59 | } 60 | 61 | @Override 62 | public boolean onOptionsItemSelected(MenuItem item) { 63 | if (item.getItemId() == android.R.id.home) { 64 | onBackPressed(); 65 | return true; 66 | } 67 | 68 | return super.onOptionsItemSelected(item); 69 | } 70 | 71 | public void setSwipeBackEnable(boolean enable) { 72 | getSwipeBackLayout().setEnableGesture(enable); 73 | } 74 | } -------------------------------------------------------------------------------- /app/src/main/java/com/yaoyumeng/v2ex2/ui/widget/CustomDialog.java: -------------------------------------------------------------------------------- 1 | package com.yaoyumeng.v2ex2.ui.widget; 2 | 3 | import android.app.Dialog; 4 | import android.content.Context; 5 | import android.view.View; 6 | 7 | import com.yaoyumeng.v2ex2.R; 8 | 9 | /** 10 | * Created by chaochen on 14-11-10. 11 | */ 12 | public final class CustomDialog { 13 | 14 | private static void dialogTitleLineColor(Context context, Dialog dialog, int color) { 15 | String dividers[] = { 16 | "android:id/titleDividerTop", "android:id/titleDivider" 17 | }; 18 | 19 | for (String divider : dividers) { 20 | int dividerId = context.getResources().getIdentifier(divider, null, null); 21 | View dividerView = dialog.findViewById(dividerId); 22 | if (dividerView != null) { 23 | dividerView.setBackgroundColor(color); 24 | } 25 | } 26 | } 27 | 28 | public static void dialogTitleLineColor(Context context, Dialog dialog) { 29 | if (dialog != null) { 30 | dialogTitleLineColor(context, dialog, context.getResources().getColor(R.color.colorPrimary)); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /app/src/main/java/com/yaoyumeng/v2ex2/utils/ContentUtils.java: -------------------------------------------------------------------------------- 1 | package com.yaoyumeng.v2ex2.utils; 2 | 3 | import org.jsoup.nodes.Element; 4 | import org.jsoup.select.Elements; 5 | 6 | /** 7 | * Created by yw on 2015/5/28. 8 | */ 9 | public class ContentUtils { 10 | 11 | public static String formatContent(String content){ 12 | return content.replace("href=\"/member/", "href=\"http://www.v2ex.com/member/") 13 | .replace("href=\"/i/", "href=\"https://i.v2ex.co/") 14 | .replace("href=\"/t/", "href=\"http://www.v2ex.com/t/") 15 | .replace("href=\"/go/", "href=\"http://www.v2ex.com/go/"); 16 | } 17 | 18 | public static int[] parsePage(Element body){ 19 | int currentPage = 1, totalPage = 1; 20 | Elements elements = body.getElementsByClass("page_current"); 21 | for (Element el : elements) { 22 | String text = el.text(); 23 | try { 24 | currentPage = Integer.parseInt(text); 25 | break; 26 | } catch (Exception e) { 27 | } 28 | } 29 | 30 | elements = body.getElementsByClass("page_normal"); 31 | totalPage = currentPage; 32 | for (Element el : elements) { 33 | String text = el.text(); 34 | try { 35 | int page = Integer.parseInt(text); 36 | if(totalPage < page) 37 | totalPage = page; 38 | } catch (Exception e) { 39 | } 40 | } 41 | return new int[]{currentPage, totalPage}; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /app/src/main/java/com/yaoyumeng/v2ex2/utils/InputUtils.java: -------------------------------------------------------------------------------- 1 | package com.yaoyumeng.v2ex2.utils; 2 | 3 | import android.content.Context; 4 | import android.view.View; 5 | import android.view.inputmethod.InputMethodManager; 6 | 7 | /** 8 | * Created by yw on 2015/5/9. 9 | */ 10 | public class InputUtils { 11 | public static void popSoftkeyboard(Context ctx, View view, boolean wantPop) { 12 | InputMethodManager imm = (InputMethodManager) ctx.getSystemService(Context.INPUT_METHOD_SERVICE); 13 | if (wantPop) { 14 | view.requestFocus(); 15 | imm.showSoftInput(view, InputMethodManager.SHOW_FORCED); 16 | } else { 17 | imm.hideSoftInputFromWindow(view.getWindowToken(), 0); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/java/com/yaoyumeng/v2ex2/utils/MessageUtils.java: -------------------------------------------------------------------------------- 1 | package com.yaoyumeng.v2ex2.utils; 2 | 3 | import android.app.Activity; 4 | import android.content.Context; 5 | import android.view.Gravity; 6 | import android.widget.Toast; 7 | 8 | import com.yaoyumeng.v2ex2.Application; 9 | 10 | /** 11 | * Created by yw on 2015/5/5. 12 | */ 13 | public class MessageUtils { 14 | 15 | public static void showErrorMessage(Context cxt, String errorString) { 16 | Activity activity = (Activity) cxt; 17 | if (activity == null) 18 | Toast.makeText(Application.getContext(), errorString, Toast.LENGTH_LONG).show(); 19 | else 20 | Toast.makeText(cxt, errorString, Toast.LENGTH_LONG).show(); 21 | } 22 | 23 | public static void showToast(Context cxt, String msg) { 24 | if(cxt == null) 25 | cxt = Application.getContext(); 26 | Toast toast = Toast.makeText(cxt, msg, Toast.LENGTH_SHORT); 27 | toast.show(); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /app/src/main/java/com/yaoyumeng/v2ex2/utils/NetWorkHelper.java: -------------------------------------------------------------------------------- 1 | package com.yaoyumeng.v2ex2.utils; 2 | 3 | import android.content.Context; 4 | import android.content.pm.PackageManager; 5 | import android.net.ConnectivityManager; 6 | import android.net.NetworkInfo; 7 | 8 | public class NetWorkHelper { 9 | 10 | /** 11 | * 判断是不是wifi网络状态 12 | * 13 | * @param paramContext 14 | * @return 15 | */ 16 | public static boolean isWifi(Context paramContext) { 17 | return "2".equals(getNetType(paramContext)[0]); 18 | } 19 | 20 | /** 21 | * 判断是不是2/3G网络状态 22 | * 23 | * @param paramContext 24 | * @return 25 | */ 26 | public static boolean isMobile(Context paramContext) { 27 | return "1".equals(getNetType(paramContext)[0]); 28 | } 29 | 30 | public static boolean isNetAvailable(Context paramContext) { 31 | if ("1".equals(getNetType(paramContext)[0]) 32 | || "2".equals(getNetType(paramContext)[0])) { 33 | return true; 34 | } 35 | return false; 36 | } 37 | 38 | /** 39 | * 获取当前网络状态 返回2代表wifi,1代表2G/3G 40 | * 41 | * @param paramContext 42 | * @return 43 | */ 44 | public static String[] getNetType(Context paramContext) { 45 | String[] arrayOfString = { "Unknown", "Unknown" }; 46 | PackageManager localPackageManager = paramContext.getPackageManager(); 47 | if (localPackageManager.checkPermission( 48 | "android.permission.ACCESS_NETWORK_STATE", 49 | paramContext.getPackageName()) != 0) { 50 | arrayOfString[0] = "Unknown"; 51 | return arrayOfString; 52 | } 53 | ConnectivityManager localConnectivityManager = (ConnectivityManager) paramContext 54 | .getSystemService("connectivity"); 55 | if (localConnectivityManager == null) { 56 | arrayOfString[0] = "Unknown"; 57 | return arrayOfString; 58 | } 59 | NetworkInfo localNetworkInfo1 = localConnectivityManager 60 | .getNetworkInfo(1); 61 | if (localNetworkInfo1 != null 62 | && localNetworkInfo1.getState() == NetworkInfo.State.CONNECTED) { 63 | arrayOfString[0] = "2"; 64 | return arrayOfString; 65 | } 66 | NetworkInfo localNetworkInfo2 = localConnectivityManager 67 | .getNetworkInfo(0); 68 | if (localNetworkInfo2 != null 69 | && localNetworkInfo2.getState() == NetworkInfo.State.CONNECTED) { 70 | arrayOfString[0] = "1"; 71 | arrayOfString[1] = localNetworkInfo2.getSubtypeName(); 72 | return arrayOfString; 73 | } 74 | return arrayOfString; 75 | } 76 | } -------------------------------------------------------------------------------- /app/src/main/java/com/yaoyumeng/v2ex2/utils/OnScrollToBottomListener.java: -------------------------------------------------------------------------------- 1 | package com.yaoyumeng.v2ex2.utils; 2 | 3 | /** 4 | * Created by yw on 2015/5/23. 5 | */ 6 | public interface OnScrollToBottomListener { 7 | public void onLoadMore(); 8 | } 9 | -------------------------------------------------------------------------------- /app/src/main/java/com/yaoyumeng/v2ex2/utils/PinyinAlpha.java: -------------------------------------------------------------------------------- 1 | package com.yaoyumeng.v2ex2.utils; 2 | 3 | import net.sourceforge.pinyin4j.PinyinHelper; 4 | 5 | public class PinyinAlpha { 6 | 7 | //获得字符串的首字母 首字符 转汉语拼音 8 | static public String getFirstChar(String value) { 9 | // 首字符 10 | char firstChar = value.charAt(0); 11 | // 首字母分类 12 | String first = null; 13 | // 是否是非汉字 14 | String[] print = PinyinHelper.toHanyuPinyinStringArray(firstChar); 15 | 16 | if (print == null) { 17 | 18 | // 将小写字母改成大写 19 | if ((firstChar >= 97 && firstChar <= 122)) { 20 | firstChar -= 32; 21 | } 22 | if (firstChar >= 65 && firstChar <= 90) { 23 | first = String.valueOf(firstChar); 24 | } else { 25 | // 认为首字符为数字或者特殊字符 26 | first = "#"; 27 | } 28 | } else { 29 | // 如果是中文 分类大写字母 30 | first = String.valueOf((char) (print[0].charAt(0) - 32)); 31 | } 32 | if (first == null) { 33 | first = "?"; 34 | } 35 | return first; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /app/src/main/java/com/yaoyumeng/v2ex2/utils/PinyinComparator.java: -------------------------------------------------------------------------------- 1 | package com.yaoyumeng.v2ex2.utils; 2 | 3 | import com.yaoyumeng.v2ex2.model.NodeModel; 4 | 5 | import net.sourceforge.pinyin4j.PinyinHelper; 6 | 7 | import java.util.Comparator; 8 | 9 | /** 10 | * Created by yw on 2015/4/22. 11 | */ 12 | public class PinyinComparator implements Comparator { 13 | public int compare(NodeModel obj1, NodeModel obj2) { 14 | String ostr1 = obj1.title; 15 | String ostr2 = obj2.title; 16 | for (int i = 0; i < ostr1.length() && i < ostr2.length(); i++) { 17 | int codePoint1 = ostr1.charAt(i); 18 | int codePoint2 = ostr2.charAt(i); 19 | if (Character.isSupplementaryCodePoint(codePoint1) 20 | || Character.isSupplementaryCodePoint(codePoint2)) { 21 | i++; 22 | } 23 | if (codePoint1 != codePoint2) { 24 | if (Character.isSupplementaryCodePoint(codePoint1) 25 | || Character.isSupplementaryCodePoint(codePoint2)) { 26 | return codePoint1 - codePoint2; 27 | } 28 | String pinyin1 = pinyin((char) codePoint1); 29 | String pinyin2 = pinyin((char) codePoint2); 30 | 31 | if (pinyin1 != null && pinyin2 != null) { // 两个字符都是汉字 32 | if (!pinyin1.equals(pinyin2)) { 33 | return pinyin1.compareTo(pinyin2); 34 | } 35 | } else { 36 | return codePoint1 - codePoint2; 37 | } 38 | } 39 | } 40 | return ostr1.length() - ostr2.length(); 41 | } 42 | 43 | // 获得汉字拼音的首字符 44 | private String pinyin(char c) { 45 | String[] pinyins = PinyinHelper.toHanyuPinyinStringArray(c); 46 | if (pinyins == null) { 47 | return null; 48 | } 49 | return pinyins[0]; 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /app/src/main/java/com/yaoyumeng/v2ex2/utils/ScreenUtils.java: -------------------------------------------------------------------------------- 1 | package com.yaoyumeng.v2ex2.utils; 2 | 3 | import android.content.Context; 4 | import android.content.res.Configuration; 5 | import android.content.res.Resources; 6 | import android.content.res.TypedArray; 7 | import android.util.DisplayMetrics; 8 | import android.util.TypedValue; 9 | import android.view.WindowManager; 10 | 11 | /** 12 | * Created by yugy on 14-1-7. 13 | */ 14 | public class ScreenUtils { 15 | 16 | public static int dp(Context context, float dp){ 17 | Resources resources = context.getResources(); 18 | int px = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, resources.getDisplayMetrics()); 19 | return px; 20 | } 21 | 22 | public static int sp(Context context, float sp){ 23 | Resources resources = context.getResources(); 24 | int px = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, sp, resources.getDisplayMetrics()); 25 | return px; 26 | } 27 | 28 | public static int getActionBarHeight(Context context){ 29 | int[] attrs = new int[] { android.R.attr.actionBarSize }; 30 | TypedArray styledAttributes = context.getTheme().obtainStyledAttributes(attrs); 31 | int actionBarHeight = (int) styledAttributes.getDimension(0, 0); 32 | styledAttributes.recycle(); 33 | return actionBarHeight; 34 | } 35 | 36 | public static int getDisplayHeight(Context context) { 37 | DisplayMetrics displayMetrics = new DisplayMetrics(); 38 | WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); 39 | wm.getDefaultDisplay().getMetrics(displayMetrics); 40 | int displayHeight = displayMetrics.heightPixels; 41 | return displayHeight; 42 | } 43 | 44 | public static int getDisplayWidth(Context context) { 45 | DisplayMetrics displayMetrics = new DisplayMetrics(); 46 | WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); 47 | wm.getDefaultDisplay().getMetrics(displayMetrics); 48 | int displayWidth = displayMetrics.widthPixels; 49 | return displayWidth; 50 | } 51 | 52 | public static boolean isTablet(Context context){ 53 | return(context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) 54 | >= Configuration.SCREENLAYOUT_SIZE_LARGE; 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /app/src/main/java/com/yaoyumeng/v2ex2/utils/SetReadTask.java: -------------------------------------------------------------------------------- 1 | package com.yaoyumeng.v2ex2.utils; 2 | 3 | import android.os.AsyncTask; 4 | import android.support.v7.widget.RecyclerView; 5 | 6 | import com.yaoyumeng.v2ex2.Application; 7 | import com.yaoyumeng.v2ex2.database.V2EXDataSource; 8 | import com.yaoyumeng.v2ex2.model.TopicModel; 9 | 10 | /** 11 | * Created by yw on 2015/5/13. 12 | */ 13 | public class SetReadTask extends AsyncTask { 14 | private TopicModel mTopicModel; 15 | private RecyclerView.Adapter mAdapter; 16 | private V2EXDataSource mDataSource = Application.getDataSource(); 17 | 18 | public SetReadTask(TopicModel topic, RecyclerView.Adapter adapter) { 19 | mTopicModel = topic; 20 | mAdapter = adapter; 21 | } 22 | 23 | @Override 24 | protected void onPreExecute() { 25 | } 26 | 27 | @Override 28 | protected Boolean doInBackground(TopicModel... params) { 29 | return mDataSource.readTopic(mTopicModel); 30 | } 31 | 32 | @Override 33 | protected void onProgressUpdate(Integer... progresses) { 34 | } 35 | 36 | @Override 37 | protected void onPostExecute(Boolean result) { 38 | mAdapter.notifyDataSetChanged(); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /app/src/main/java/com/yaoyumeng/v2ex2/utils/SimpleTextWatcher.java: -------------------------------------------------------------------------------- 1 | package com.yaoyumeng.v2ex2.utils; 2 | 3 | import android.text.Editable; 4 | import android.text.TextWatcher; 5 | 6 | public class SimpleTextWatcher implements TextWatcher { 7 | @Override 8 | public void beforeTextChanged(CharSequence s, int start, int count, int after) { 9 | } 10 | 11 | @Override 12 | public void onTextChanged(CharSequence s, int start, int before, int count) { 13 | } 14 | 15 | @Override 16 | public void afterTextChanged(Editable s) { 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /app/src/main/java/com/yaoyumeng/v2ex2/wxapi/WXEntryActivity.java: -------------------------------------------------------------------------------- 1 | package com.yaoyumeng.v2ex2.wxapi; 2 | 3 | import com.umeng.socialize.weixin.view.WXCallbackActivity; 4 | 5 | public class WXEntryActivity extends WXCallbackActivity { 6 | 7 | } -------------------------------------------------------------------------------- /app/src/main/jniLibs/armeabi/libbspatch.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/jniLibs/armeabi/libbspatch.so -------------------------------------------------------------------------------- /app/src/main/res/anim/swipeback_stack_right_in.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/anim/swipeback_stack_right_out.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/anim/swipeback_stack_to_back.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/res/anim/swipeback_stack_to_front.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /app/src/main/res/anim/umeng_socialize_fade_in.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/anim/umeng_socialize_fade_out.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/anim/umeng_socialize_shareboard_animation_in.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /app/src/main/res/anim/umeng_socialize_shareboard_animation_out.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/anim/umeng_socialize_slide_in_from_bottom.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/anim/umeng_socialize_slide_out_from_bottom.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/dialog_background.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-hdpi/dialog_background.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/dialog_bottom_background.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-hdpi/dialog_bottom_background.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_action_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-hdpi/ic_action_add.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_action_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-hdpi/ic_action_top.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-hdpi/ic_avatar.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-hdpi/ic_github.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_homepage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-hdpi/ic_homepage.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_location.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-hdpi/ic_location.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-hdpi/ic_lock.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_notifications.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-hdpi/ic_notifications.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_person.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-hdpi/ic_person.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_reply.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-hdpi/ic_reply.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-hdpi/ic_search.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_share.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-hdpi/ic_share.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_star.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-hdpi/ic_star.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_start_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-hdpi/ic_start_active.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_twitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-hdpi/ic_twitter.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/shadow_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-hdpi/shadow_left.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/umeng_socialize_light_bar_bg_pad.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-hdpi/umeng_socialize_light_bar_bg_pad.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/umeng_socialize_nav_bar_bg_pad.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-hdpi/umeng_socialize_nav_bar_bg_pad.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/umeng_socialize_oauth_check_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-hdpi/umeng_socialize_oauth_check_off.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/umeng_socialize_oauth_check_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-hdpi/umeng_socialize_oauth_check_on.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/umeng_socialize_share_music.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-hdpi/umeng_socialize_share_music.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/umeng_socialize_share_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-hdpi/umeng_socialize_share_pic.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/umeng_socialize_share_video.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-hdpi/umeng_socialize_share_video.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/umeng_update_btn_check_off_focused_holo_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-hdpi/umeng_update_btn_check_off_focused_holo_light.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/umeng_update_btn_check_off_holo_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-hdpi/umeng_update_btn_check_off_holo_light.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/umeng_update_btn_check_off_pressed_holo_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-hdpi/umeng_update_btn_check_off_pressed_holo_light.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/umeng_update_btn_check_on_focused_holo_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-hdpi/umeng_update_btn_check_on_focused_holo_light.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/umeng_update_btn_check_on_holo_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-hdpi/umeng_update_btn_check_on_holo_light.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/umeng_update_btn_check_on_pressed_holo_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-hdpi/umeng_update_btn_check_on_pressed_holo_light.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/umeng_update_close_bg_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-hdpi/umeng_update_close_bg_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/umeng_update_close_bg_tap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-hdpi/umeng_update_close_bg_tap.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/checkbox_comment_check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-xhdpi/checkbox_comment_check.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/checkbox_comment_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-xhdpi/checkbox_comment_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/share_icon_copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-xhdpi/share_icon_copy.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/share_icon_copy_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-xhdpi/share_icon_copy_a.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/share_icon_more.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-xhdpi/share_icon_more.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/share_icon_more_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-xhdpi/share_icon_more_a.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/share_icon_qq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-xhdpi/share_icon_qq.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/share_icon_qq_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-xhdpi/share_icon_qq_a.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/share_icon_sinaweibo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-xhdpi/share_icon_sinaweibo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/share_icon_sinaweibo_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-xhdpi/share_icon_sinaweibo_a.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/share_icon_wechat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-xhdpi/share_icon_wechat.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/share_icon_wechat_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-xhdpi/share_icon_wechat_a.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/share_icon_wechatfriends.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-xhdpi/share_icon_wechatfriends.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/share_icon_wechatfriends_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-xhdpi/share_icon_wechatfriends_a.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/divide_15_top_bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-xxhdpi/divide_15_top_bottom.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/edit_select.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-xxhdpi/edit_select.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_send_green_24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-xxhdpi/ic_send_green_24.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_send_green_24_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-xxhdpi/ic_send_green_24_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_send_grey_24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-xxhdpi/ic_send_grey_24.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_send_white_24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-xxhdpi/ic_send_white_24.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_tab_discovery_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-xxhdpi/ic_tab_discovery_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_tab_my_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-xxhdpi/ic_tab_my_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_tab_nodes_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-xxhdpi/ic_tab_nodes_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/login_button_normal.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-xxhdpi/login_button_normal.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/login_button_press.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-xxhdpi/login_button_press.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/logout_button.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-xxhdpi/logout_button.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/message_edit_layout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-xxhdpi/message_edit_layout.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/user_home_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable-xxhdpi/user_home_arrow.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/.DS_Store -------------------------------------------------------------------------------- /app/src/main/res/drawable/checkbox_comment.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/common_item_click_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/drawer_shadow.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/drawer_shadow.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/login_button.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/menu_add_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/send_icon_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/share_icon_copy_link_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/share_icon_more_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/share_icon_qq_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/share_icon_sinaweibo_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/share_icon_wechat_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/share_icon_wechatfriends_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/tab_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/tb_munion_icon.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/tb_munion_item_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_common_gradient_green.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_common_gradient_orange.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_common_gradient_red.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_action_back.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_action_back_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_action_back_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_action_back_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_action_back_selected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_at_button.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_at_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_at_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_at_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_at_selected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_bind_bg.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_bind_bg.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_button_blue.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_button_blue.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_button_grey.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_button_grey.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_button_grey_blue.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_button_login.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_button_login_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_button_login_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_button_login_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_button_login_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_button_red.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_button_red.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_button_red_blue.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_button_white.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_button_white.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_button_white_blue.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_default_avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_default_avatar.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_douban_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_douban_off.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_douban_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_douban_on.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_facebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_facebook.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_fetch_image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_fetch_image.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_follow_check.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_follow_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_follow_off.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_follow_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_follow_on.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_google.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_google.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_light_bar_bg.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_light_bar_bg.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_location_ic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_location_ic.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_location_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_location_off.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_location_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_location_on.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_nav_bar_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_nav_bar_bg.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_oauth_check.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_oauth_check_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_oauth_check_off.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_oauth_check_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_oauth_check_on.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_qq_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_qq_off.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_qq_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_qq_on.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_qzone_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_qzone_off.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_qzone_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_qzone_on.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_refersh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_refersh.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_renren_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_renren_off.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_renren_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_renren_on.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_search_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_search_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_shape_solid_black.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_shape_solid_grey.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_share_to_button.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_share_transparent_corner.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_shareboard_item_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_sidebar_normal.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_sidebar_selected.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_sidebar_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_sina_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_sina_off.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_sina_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_sina_on.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_title_back_bt.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_title_back_bt_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_title_back_bt_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_title_back_bt_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_title_back_bt_selected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_title_right_bt.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_title_right_bt_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_title_right_bt_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_title_right_bt_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_title_right_bt_selected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_title_tab_button_left.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_title_tab_button_right.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_title_tab_left_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_title_tab_left_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_title_tab_left_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_title_tab_left_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_title_tab_right_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_title_tab_right_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_title_tab_right_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_title_tab_right_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_twitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_twitter.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_tx_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_tx_off.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_tx_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_tx_on.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_wechat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_wechat.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_wechat_gray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_wechat_gray.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_window_shadow_pad.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 17 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 31 | 33 | 34 | 35 | 36 | 37 | 38 | 44 | 46 | 47 | 48 | 49 | 50 | 51 | 57 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_wxcircle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_wxcircle.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_wxcircle_gray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_wxcircle_gray.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_socialize_x_button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_socialize_x_button.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_update_button_cancel_bg_focused.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_update_button_cancel_bg_normal.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_update_button_cancel_bg_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 8 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_update_button_cancel_bg_tap.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_update_button_check_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 9 | 10 | 13 | 16 | 17 | 20 | 23 | 24 | 27 | 30 | 31 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_update_button_close_bg_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 8 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_update_button_ok_bg_focused.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_update_button_ok_bg_normal.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_update_button_ok_bg_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 8 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_update_button_ok_bg_tap.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_update_dialog_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_update_title_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/umeng_update_wifi_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greatyao/v2ex-android/f7bdb02e2ecbab640e77b3efcfc7382901712cdf/app/src/main/res/drawable/umeng_update_wifi_disable.png -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_container.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_login.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | 18 | 19 | 26 | 27 | 37 | 38 | 49 | 50 |