├── .gitignore ├── README.md ├── app ├── build.gradle ├── debug.keystore ├── libs │ ├── android-support-v13.jar │ ├── core-3.2.0.jar │ ├── jsoup-1.8.1.jar │ └── libammsdk.jar └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── pkuhelper │ │ ├── Course.java │ │ ├── Dean.java │ │ ├── IAAA.java │ │ ├── IPGW.java │ │ ├── IPGW_shake.java │ │ ├── MYPKU.java │ │ ├── MYPKU_old.java │ │ ├── PE.java │ │ ├── PKUHelper.java │ │ ├── Settings.java │ │ ├── bbs │ │ ├── AllBoardsFragment.java │ │ ├── BBSActivity.java │ │ ├── Board.java │ │ ├── FavoriteActivity.java │ │ ├── MessageActivity.java │ │ ├── MessageInfo.java │ │ ├── MessagePostActivity.java │ │ ├── PostActivity.java │ │ ├── PostInfo.java │ │ ├── SearchFragment.java │ │ ├── SearchInfo.java │ │ ├── ThreadInfo.java │ │ ├── TopFragment.java │ │ ├── Userinfo.java │ │ ├── UserinfoFragment.java │ │ ├── ViewActivity.java │ │ ├── ViewPost.java │ │ └── ViewThread.java │ │ ├── chat │ │ ├── BlackList.java │ │ ├── ChatActivity.java │ │ ├── ChatDetail.java │ │ ├── ChatDetailInfo.java │ │ ├── ChatList.java │ │ ├── ChatListInfo.java │ │ └── ChatThread.java │ │ ├── classroom │ │ ├── ClassActivity.java │ │ └── ClassroomFragment.java │ │ ├── course │ │ ├── CourseInfo.java │ │ ├── CustomCourseActivity.java │ │ ├── DeanCourseActivity.java │ │ ├── ExamActivity.java │ │ └── TimeInfo.java │ │ ├── gesture │ │ ├── GestureActivity.java │ │ └── GestureFragment.java │ │ ├── grade │ │ ├── Course.java │ │ ├── GradeActivity.java │ │ ├── GradeTask.java │ │ └── Semester.java │ │ ├── lib │ │ ├── BaseActivity.java │ │ ├── Constants.java │ │ ├── DataObject.java │ │ ├── DeanDecode.java │ │ ├── Editor.java │ │ ├── Features.java │ │ ├── ImageDownload.java │ │ ├── ImageRequest.java │ │ ├── Lib.java │ │ ├── MyBitmapFactory.java │ │ ├── MyCalendar.java │ │ ├── MyDrawable.java │ │ ├── MyFile.java │ │ ├── RequestingTask.java │ │ ├── Share.java │ │ ├── SystemBarTintManager.java │ │ ├── Util.java │ │ ├── ViewSetting.java │ │ ├── view │ │ │ ├── AspectRatioImageView.java │ │ │ ├── BadgeView.java │ │ │ ├── CustomToast.java │ │ │ ├── CustomViewPager.java │ │ │ ├── GifImageView.java │ │ │ ├── MyDatePickerDialog.java │ │ │ ├── MyNotification.java │ │ │ ├── MyTimePickerDialog.java │ │ │ ├── SquareRelativeLayout.java │ │ │ ├── TouchImageView.java │ │ │ └── colorpicker │ │ │ │ ├── AbsColorWheelRenderer.java │ │ │ │ ├── AbsCustomSlider.java │ │ │ │ ├── AlphaSlider.java │ │ │ │ ├── CircleColorDrawable.java │ │ │ │ ├── ColorCircle.java │ │ │ │ ├── ColorPickerClickListener.java │ │ │ │ ├── ColorPickerDialogBuilder.java │ │ │ │ ├── ColorPickerPreference.java │ │ │ │ ├── ColorPickerView.java │ │ │ │ ├── ColorWheelRenderOption.java │ │ │ │ ├── ColorWheelRenderer.java │ │ │ │ ├── ColorWheelRendererBuilder.java │ │ │ │ ├── FlowerColorWheelRenderer.java │ │ │ │ ├── LightnessSlider.java │ │ │ │ ├── OnColorSelectedListener.java │ │ │ │ ├── PaintBuilder.java │ │ │ │ ├── SimpleColorWheelRenderer.java │ │ │ │ └── Utils.java │ │ └── webconnection │ │ │ ├── Cookies.java │ │ │ ├── HTTPSClient.java │ │ │ ├── Parameters.java │ │ │ └── WebConnection.java │ │ ├── lostfound │ │ ├── AddActivity.java │ │ ├── Detail.java │ │ ├── LostFoundActivity.java │ │ ├── LostFoundInfo.java │ │ └── old │ │ │ ├── Add.java │ │ │ ├── Detail.java │ │ │ ├── EventHandler.java │ │ │ ├── Found.java │ │ │ ├── Image.java │ │ │ ├── Lost.java │ │ │ ├── LostFoundActivity.java │ │ │ ├── LostFoundInfo.java │ │ │ └── MyLostFound.java │ │ ├── media │ │ ├── Content.java │ │ ├── EventHandler.java │ │ ├── MediaActivity.java │ │ ├── MediaList.java │ │ └── Source.java │ │ ├── noticecenter │ │ ├── Content.java │ │ ├── CourseJSTranslation.java │ │ ├── CourseNotice.java │ │ ├── EventHandler.java │ │ ├── NCActivity.java │ │ ├── NCContent.java │ │ ├── NCDetail.java │ │ ├── NCList.java │ │ └── Notice.java │ │ ├── pkuhole │ │ ├── CommentInfo.java │ │ ├── HoleActivity.java │ │ ├── HoleComment.java │ │ ├── HoleInfo.java │ │ ├── HolePost.java │ │ ├── HoleSearch.java │ │ └── old │ │ │ ├── CommentMessage.java │ │ │ ├── EventHandler.java │ │ │ ├── HoleMessage.java │ │ │ ├── PKUHoleActivity.java │ │ │ ├── PostMessage.java │ │ │ ├── ShowComments.java │ │ │ └── ShowLists.java │ │ ├── qrcode │ │ ├── AutoFocusCallback.java │ │ ├── CameraConfigurationManager.java │ │ ├── CameraManager.java │ │ ├── CaptureActivityHandler.java │ │ ├── DecodeFormatManager.java │ │ ├── DecodeHandler.java │ │ ├── DecodeThread.java │ │ ├── FinishListener.java │ │ ├── FlashlightManager.java │ │ ├── InactivityTimer.java │ │ ├── Intents.java │ │ ├── MipcaActivityCapture.java │ │ ├── PlanarYUVLuminanceSource.java │ │ ├── PreviewCallback.java │ │ ├── QRCodeActivity.java │ │ ├── ViewfinderResultPointCallback.java │ │ └── ViewfinderView.java │ │ ├── selfstudy │ │ ├── ActivityRecords.java │ │ ├── Constants.java │ │ ├── DBHelper.java │ │ ├── FormatRecord.java │ │ ├── HintUtil.java │ │ ├── Record.java │ │ ├── SelfStudyActivity.java │ │ └── ServiceRecord.java │ │ ├── service │ │ ├── AlarmReceiver.java │ │ ├── MyReceiver.java │ │ ├── NotifyThread.java │ │ └── PKUHelperService.java │ │ ├── subactivity │ │ ├── Certification.java │ │ ├── CourseSetting.java │ │ ├── GifView.java │ │ ├── IPGWSetting.java │ │ ├── Information.java │ │ ├── Lecture.java │ │ ├── MYPKUSetting.java │ │ ├── MyWebView.java │ │ ├── NotificationSetting.java │ │ ├── PhoneView.java │ │ ├── Picture.java │ │ ├── SchoolCalendar.java │ │ ├── Shows.java │ │ ├── SubActivity.java │ │ └── TelephoneList.java │ │ └── widget │ │ ├── IPGWNotification.java │ │ ├── WidgetActionService.java │ │ ├── WidgetCourse2Factory.java │ │ ├── WidgetCourse2Provider.java │ │ ├── WidgetCourse2Service.java │ │ ├── WidgetCourseFactory.java │ │ ├── WidgetCourseProvider.java │ │ ├── WidgetCourseService.java │ │ ├── WidgetExamFactory.java │ │ ├── WidgetExamProvider.java │ │ ├── WidgetExamService.java │ │ └── WidgetItsProvider.java │ └── res │ ├── drawable-hdpi │ ├── add.png │ ├── bbs_nxt.png │ ├── bbs_pre.png │ ├── close.png │ ├── download.png │ ├── item.png │ ├── open.png │ ├── qrcode.png │ ├── reload.png │ ├── reply.png │ ├── save.png │ ├── set.png │ ├── share.png │ ├── some.png │ ├── star_hollow.png │ └── star_solid.png │ ├── drawable-mdpi │ ├── actionbar.png │ ├── add.png │ ├── arrow_down.png │ ├── arrow_left.png │ ├── arrow_right.png │ ├── audio_start.png │ ├── audio_stop.png │ ├── bbs.png │ ├── bbs_nxt.png │ ├── bbs_pre.png │ ├── bg.png │ ├── bg_bak.jpg │ ├── bjyc.png │ ├── button.png │ ├── chat_bg.jpg │ ├── chat_send_btn.png │ ├── chatfrom_focused.9.png │ ├── chatfrom_normal.9.png │ ├── chatfrom_pressed.9.png │ ├── chatto_focused.9.png │ ├── chatto_normal.9.png │ ├── chatto_pressed.9.png │ ├── cjcx.png │ ├── close.png │ ├── cyxx.png │ ├── delete.png │ ├── download.png │ ├── error.png │ ├── failure.png │ ├── hot.png │ ├── ic_big.png │ ├── ic_big_backup.png │ ├── ic_launcher.png │ ├── ic_launcher_backup.png │ ├── ic_share_default.png │ ├── ic_share_default_backup.png │ ├── ic_small_backup.png │ ├── icon.png │ ├── icon_course.png │ ├── icon_search.png │ ├── im1_1.png │ ├── im1_11.png │ ├── im1_2.png │ ├── im1_3.png │ ├── im1_4.png │ ├── im1_5.png │ ├── im1_7.png │ ├── im1_8.png │ ├── im1_9.png │ ├── im1_90.png │ ├── image.png │ ├── info.png │ ├── info_calendar.png │ ├── info_card.png │ ├── info_map.png │ ├── info_phone.png │ ├── info_subway.png │ ├── ipgw.png │ ├── item.png │ ├── its.png │ ├── jscx.png │ ├── jzyg.png │ ├── list.png │ ├── listitem_location.png │ ├── listitem_seat.png │ ├── listitem_time.png │ ├── login_edit_normal.9.png │ ├── lostfound.png │ ├── message.png │ ├── mypku.png │ ├── mypku_bg.png │ ├── next.png │ ├── open.png │ ├── p_white.png │ ├── pdsd.png │ ├── pkuhole.png │ ├── pkuhole_comment.png │ ├── pkuhole_eye.png │ ├── pkumail.png │ ├── previous.png │ ├── qrcode.png │ ├── refresh.png │ ├── reload.png │ ├── reply.png │ ├── returntop.png │ ├── save.png │ ├── search.png │ ├── search_frame.9.png │ ├── search_top_background.png │ ├── set.png │ ├── settings.png │ ├── shake.png │ ├── share.png │ ├── some.png │ ├── star_hollow.png │ ├── star_solid.png │ ├── success.png │ ├── tab_course.png │ ├── tab_course_selected.png │ ├── tab_ipgw.png │ ├── tab_ipgw_selected.png │ ├── tab_mypku.png │ ├── tab_mypku_selected.png │ ├── tab_settings.png │ ├── tab_settings_selected.png │ ├── tccj.png │ ├── tydk.png │ ├── tzzx.png │ ├── user.png │ ├── wdpz.png │ ├── widget_course.png │ ├── widget_course2.png │ ├── widget_exam.png │ ├── widget_its.png │ ├── wmbbs.png │ └── xmtlm.png │ ├── drawable-xhdpi │ ├── pkumap.jpg │ └── subwaymap.jpg │ ├── drawable │ ├── button_full.xml │ ├── button_full_checked.xml │ ├── button_full_normal.xml │ ├── chat_hint_bg.xml │ ├── chat_send_text_bg.xml │ ├── chatfrom_bg.xml │ ├── chatto_bg.xml │ ├── corners_bg.xml │ ├── dash_line.xml │ ├── hole_audio_record.xml │ ├── hole_audio_record_normal.xml │ ├── hole_audio_record_pressed.xml │ ├── hole_bg.xml │ ├── hole_bg2.xml │ ├── hole_button_left.xml │ ├── hole_button_left_selected.xml │ ├── hole_button_right.xml │ ├── hole_button_right_selected.xml │ ├── lf_btn_left.xml │ ├── lf_btn_left_selected.xml │ ├── lf_btn_middle.xml │ ├── lf_btn_middle_selected.xml │ ├── lf_btn_right.xml │ ├── lf_btn_right_selected.xml │ ├── shape_round_rect_1.xml │ ├── shape_round_rect_2.xml │ ├── shape_round_rect_3.xml │ └── shape_round_rect_recent.xml │ ├── layout │ ├── about.xml │ ├── about_report.xml │ ├── activity_capture.xml │ ├── activity_main.xml │ ├── activity_view_ticket.xml │ ├── bbs_allboards_item.xml │ ├── bbs_allboards_view.xml │ ├── bbs_login_view.xml │ ├── bbs_main.xml │ ├── bbs_message_detail.xml │ ├── bbs_message_item.xml │ ├── bbs_message_listview.xml │ ├── bbs_post_item.xml │ ├── bbs_post_listview.xml │ ├── bbs_post_mail.xml │ ├── bbs_postpage.xml │ ├── bbs_reprint_view.xml │ ├── bbs_search_view.xml │ ├── bbs_thread_item.xml │ ├── bbs_thread_listview.xml │ ├── bbs_top_listitem.xml │ ├── bbs_top_listview.xml │ ├── bbs_userinfo_view.xml │ ├── chat_add_dialog.xml │ ├── chatdetail_item_from.xml │ ├── chatdetail_item_to.xml │ ├── chatdetail_view.xml │ ├── chatlist_listitem.xml │ ├── chatlist_listview.xml │ ├── classroom_fragement.xml │ ├── classroom_layout.xml │ ├── color_preview.xml │ ├── color_selector.xml │ ├── color_widget.xml │ ├── course_view.xml │ ├── customcourse_listitem.xml │ ├── customcourse_listview.xml │ ├── customcourse_modify_item.xml │ ├── customcourse_modifyview.xml │ ├── dean_captcha_view.xml │ ├── exam_listitem.xml │ ├── exam_listview.xml │ ├── exam_modify.xml │ ├── fragment_ticket_back.xml │ ├── fragment_ticket_front.xml │ ├── gesture_layout.xml │ ├── gesture_view.xml │ ├── grade_detail_item.xml │ ├── grade_detail_view.xml │ ├── grade_item_view.xml │ ├── grade_listview_layout.xml │ ├── grade_text_view.xml │ ├── hole_comment_footerview.xml │ ├── hole_comment_headerview.xml │ ├── hole_comment_listitem.xml │ ├── hole_comment_listview.xml │ ├── hole_edittext.xml │ ├── hole_list_headerview.xml │ ├── hole_list_item.xml │ ├── hole_listview.xml │ ├── hole_post_audio_dialog.xml │ ├── hole_post_view.xml │ ├── hole_push_settings.xml │ ├── hole_search.xml │ ├── hole_search_spinner.xml │ ├── iaaa_login_view.xml │ ├── ipgw_shake_view.xml │ ├── ipgw_view.xml │ ├── its_noti_layout.xml │ ├── lf_headerview.xml │ ├── lf_listview.xml │ ├── lostfound_add.xml │ ├── lostfound_detail_buttonview.xml │ ├── lostfound_detail_item.xml │ ├── lostfound_detail_listview.xml │ ├── lostfound_item.xml │ ├── lostfound_list_headerview.xml │ ├── lostfound_listview.xml │ ├── mypku_block.xml │ ├── mypku_item.xml │ ├── mypku_line.xml │ ├── mypku_list_even_view.xml │ ├── mypku_list_odd_view.xml │ ├── mypku_listview.xml │ ├── mypku_title.xml │ ├── mypku_view.xml │ ├── nc_setsource_footerview.xml │ ├── nc_setsource_headerview.xml │ ├── nc_setsource_item.xml │ ├── nc_setsource_listview.xml │ ├── nc_viewcontent_item.xml │ ├── nc_viewcontent_listview.xml │ ├── pe_card_dialog_item.xml │ ├── pe_card_dialog_view.xml │ ├── pe_password_dialog.xml │ ├── picker_edit.xml │ ├── pkuhole_dialog_postmsg.xml │ ├── pkuhole_show_detail_footerview.xml │ ├── pkuhole_show_detail_headerview.xml │ ├── pkuhole_show_detail_item.xml │ ├── pkuhole_show_detail_listview.xml │ ├── pkuhole_show_list.xml │ ├── selfstudy_item.xml │ ├── selfstudy_item_recent.xml │ ├── selfstudy_main.xml │ ├── selfstudy_records.xml │ ├── settings_course.xml │ ├── settings_found.xml │ ├── settings_ipgw.xml │ ├── settings_mypku_headerview.xml │ ├── settings_mypku_item.xml │ ├── settings_mypku_listview.xml │ ├── settings_notification.xml │ ├── settings_pushes_headerview.xml │ ├── settings_pushes_item.xml │ ├── settings_pushes_listview.xml │ ├── settings_view.xml │ ├── subactivity_certification_listitem.xml │ ├── subactivity_gifview.xml │ ├── subactivity_imageview.xml │ ├── subactivity_information_view.xml │ ├── subactivity_lecture_listitem.xml │ ├── subactivity_listview.xml │ ├── subactivity_listview_footerview.xml │ ├── subactivity_listview_headerview.xml │ ├── subactivity_listview_item.xml │ ├── subactivity_phone_listitem.xml │ ├── subactivity_phone_view.xml │ ├── subactivity_shows_listitem.xml │ ├── subactivity_webview.xml │ ├── toast_view.xml │ ├── widget_course2_item.xml │ ├── widget_course2_layout.xml │ ├── widget_course_item_image.xml │ ├── widget_course_item_textview.xml │ ├── widget_course_layout.xml │ ├── widget_exam_item.xml │ ├── widget_exam_layout.xml │ └── widget_its_layout.xml │ ├── raw │ ├── beep.ogg │ └── realm_properties │ ├── values-v11 │ └── styles.xml │ ├── values-v14 │ └── styles.xml │ ├── values-w820dp │ └── dimens.xml │ ├── values │ ├── attrs.xml │ ├── colors.xml │ ├── dimens.xml │ ├── strings.xml │ └── styles.xml │ └── xml │ ├── widget_course2_provider.xml │ ├── widget_course_provider.xml │ ├── widget_exam_provider.xml │ └── widget_its_provider.xml ├── build.gradle ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── import-summary.txt └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- 1 | # Built application files 2 | *.apk 3 | *.ap_ 4 | 5 | # Files for the Dalvik VM 6 | *.dex 7 | 8 | # Java class files 9 | *.class 10 | 11 | # Generated files 12 | bin/ 13 | gen/ 14 | 15 | # Gradle files 16 | .gradle/ 17 | build/ 18 | 19 | # Local configuration file (sdk path, etc) 20 | local.properties 21 | 22 | # Proguard folder generated by Eclipse 23 | proguard/ 24 | 25 | # Log Files 26 | *.log 27 | 28 | # Android Studio Navigation editor temp files 29 | .navigation/ 30 | 31 | # Android Studio captures folder 32 | captures/ 33 | 34 | # OS X 35 | .DS_Store 36 | .AppleDouble 37 | .LSOverride 38 | 39 | # Icon must end with two \r 40 | Icon 41 | 42 | 43 | # Thumbnails 44 | ._* 45 | 46 | # Files that might appear in the root of a volume 47 | .DocumentRevisions-V100 48 | .fseventsd 49 | .Spotlight-V100 50 | .TemporaryItems 51 | .Trashes 52 | .VolumeIcon.icns 53 | 54 | # Directories potentially created on remote AFP share 55 | .AppleDB 56 | .AppleDesktop 57 | Network Trash Folder 58 | Temporary Items 59 | .apdisk 60 | 61 | # Android Studio 62 | .idea 63 | *.iml -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | PKU Helper-Android 2 | ================ 3 | 4 | ### 使用说明 5 | 1. 安装好Android Studio http://pan.baidu.com/s/1i3jgELR 6 | 2. 下载此项目源代码,并导入项目。 7 | 3. 直接点击RUN运行吧!如果有报错或其他问题请在issue中予以反馈。 8 | 9 | ### 参与项目 10 | 1. 推荐代码阅读顺序请看这里 https://github.com/ckcz123/PKUHelper-Android/issues/1 11 | 2. 接口说明请看这里 http://www.xiongdianpku.com/helper.html 12 | 3. 对现有的版本改进建议(To-Do List)请看这里 https://github.com/ckcz123/PKUHelper-Android/issues/2 13 | 4. 欢迎读懂现有代码并提出自己的改进建议,为PKU Helper for Android做出自己的贡献! 14 | 5. 如果有任何问题,请直接提出,我们很欢迎并乐于进行解答 15 | -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 24 5 | buildToolsVersion "24.0.1" 6 | 7 | defaultConfig { 8 | applicationId "com.pkuhelper" 9 | minSdkVersion 14 10 | targetSdkVersion 24 11 | } 12 | 13 | signingConfigs { 14 | debug { 15 | storeFile file("debug.keystore") 16 | } 17 | } 18 | 19 | aaptOptions { 20 | cruncherEnabled = false 21 | } 22 | 23 | useLibrary 'org.apache.http.legacy' 24 | 25 | } 26 | 27 | dependencies { 28 | compile files('libs/android-support-v13.jar') 29 | compile files('libs/core-3.2.0.jar') 30 | compile files('libs/jsoup-1.8.1.jar') 31 | compile files('libs/libammsdk.jar') 32 | } 33 | -------------------------------------------------------------------------------- /app/debug.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/debug.keystore -------------------------------------------------------------------------------- /app/libs/android-support-v13.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/libs/android-support-v13.jar -------------------------------------------------------------------------------- /app/libs/core-3.2.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/libs/core-3.2.0.jar -------------------------------------------------------------------------------- /app/libs/jsoup-1.8.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/libs/jsoup-1.8.1.jar -------------------------------------------------------------------------------- /app/libs/libammsdk.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/libs/libammsdk.jar -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/bbs/MessageInfo.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.bbs; 2 | 3 | public class MessageInfo { 4 | int number; 5 | String title; 6 | String author; 7 | long timestamp; 8 | boolean isnew; 9 | 10 | public MessageInfo(int _number, String _title, String _author, 11 | long _timestamp, int _isnew) { 12 | number = _number; 13 | title = new String(_title); 14 | author = new String(_author); 15 | timestamp = _timestamp; 16 | isnew = _isnew == 1; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/bbs/SearchInfo.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.bbs; 2 | 3 | public class SearchInfo { 4 | String board; 5 | int threadid; 6 | String author; 7 | long timestamp; 8 | int number; 9 | String title; 10 | 11 | public SearchInfo(String _board, int _threadid, 12 | String _title, String _author, int _number, long _timestamp) { 13 | board = new String(_board); 14 | threadid = _threadid; 15 | title = new String(_title); 16 | author = new String(_author); 17 | number = _number; 18 | timestamp = _timestamp; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/bbs/ThreadInfo.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.bbs; 2 | 3 | import java.text.SimpleDateFormat; 4 | import java.util.Calendar; 5 | import java.util.Date; 6 | import java.util.Locale; 7 | 8 | public class ThreadInfo { 9 | int rank; 10 | String board; 11 | String boardName; 12 | String author; 13 | long time; 14 | String title; 15 | int threadid; 16 | boolean isTop; 17 | 18 | /** 19 | * 十大帖子的初始化 20 | * 21 | * @param _rank 22 | * @param _board 23 | * @param _boardName 24 | * @param _author 25 | * @param _time 为M-d HH:mm:ss形式 26 | * @param _title 27 | * @param _threadid 28 | */ 29 | public ThreadInfo(int _rank, String _board, String _boardName, 30 | String _author, String _time, String _title, int _threadid) throws Exception { 31 | rank = _rank; 32 | board = new String(_board); 33 | boardName = new String(_boardName); 34 | author = new String(_author); 35 | title = new String(_title); 36 | threadid = _threadid; 37 | 38 | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("M-d HH:mm:ss", Locale.getDefault()); 39 | Date date = simpleDateFormat.parse(_time); 40 | Calendar calendar = Calendar.getInstance(); 41 | calendar.setTime(date); 42 | 43 | Calendar nowTime = Calendar.getInstance(); 44 | calendar.set(Calendar.YEAR, nowTime.get(Calendar.YEAR)); 45 | 46 | // 如果在现在之后,代表是去年发的 47 | if (nowTime.getTimeInMillis() <= calendar.getTimeInMillis()) { 48 | calendar.add(Calendar.YEAR, -1); 49 | } 50 | 51 | time = calendar.getTimeInMillis(); 52 | } 53 | 54 | /** 55 | * 一个普通帖子的初始化 56 | * 57 | * @param _board 58 | * @param _boardName 59 | * @param _author 60 | * @param _time 时间戳(以秒为单位) 61 | * @param _title 62 | * @param _threadid 63 | */ 64 | public ThreadInfo(String _board, String _boardName, 65 | String _author, long _time, String _title, int _threadid, int top) { 66 | rank = 0; 67 | board = new String(_board); 68 | boardName = new String(_boardName); 69 | author = new String(_author); 70 | title = new String(_title); 71 | threadid = _threadid; 72 | time = _time * 1000; 73 | isTop = top == 1; 74 | } 75 | 76 | } 77 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/chat/ChatDetailInfo.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.chat; 2 | 3 | public class ChatDetailInfo { 4 | int id; 5 | String content; 6 | String mime; 7 | long timestamp; 8 | String type; 9 | 10 | public ChatDetailInfo(int _id, String _content, String _mime, long _timestamp, 11 | String _type) { 12 | id = _id; 13 | content = new String(_content); 14 | mime = new String(_mime).trim(); 15 | timestamp = _timestamp; 16 | type = new String(_type).trim(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/chat/ChatListInfo.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.chat; 2 | 3 | public class ChatListInfo { 4 | String username; 5 | long timestamp; 6 | int number; 7 | String content; 8 | boolean hasNew; 9 | String name; 10 | 11 | public ChatListInfo(String _username, String _name, long _timestamp, String _content, int _number, 12 | boolean _hasNew) { 13 | username = new String(_username); 14 | timestamp = _timestamp; 15 | content = new String(_content); 16 | number = _number; 17 | hasNew = _hasNew; 18 | if ("".equals(_name)) name = username; 19 | else name = _name; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/classroom/ClassroomFragment.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.classroom; 2 | 3 | import android.app.Fragment; 4 | import android.os.Bundle; 5 | import android.view.LayoutInflater; 6 | import android.view.View; 7 | import android.view.ViewGroup; 8 | import android.webkit.WebView; 9 | 10 | import com.pkuhelper.R; 11 | 12 | public class ClassroomFragment extends Fragment { 13 | final static String defaultString = "
" + 14 | "

请点击菜单栏上的图标
选择你想查看的教学楼" + 15 | "

"; 16 | WebView webView; 17 | 18 | @Override 19 | public View onCreateView(LayoutInflater inflater, ViewGroup container, 20 | Bundle savedInstanceState) { 21 | View rootView = inflater.inflate(R.layout.classroom_fragement, 22 | container, false); 23 | webView = (WebView) rootView.findViewById(R.id.classroom_view); 24 | webView.setVerticalScrollBarEnabled(false); 25 | webView.setHorizontalScrollBarEnabled(false); 26 | showView(getArguments().getInt("index")); 27 | return rootView; 28 | } 29 | 30 | public void showView(int index) { 31 | String html = ClassActivity.classActivity.htmls[index]; 32 | if (html == null || "".equals(html)) 33 | html = defaultString; 34 | if (webView != null) 35 | webView.loadDataWithBaseURL(null, html, "text/html", "utf-8", null); 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/course/TimeInfo.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.course; 2 | 3 | public class TimeInfo { 4 | int week, starttime, endtime; 5 | int type; 6 | 7 | public TimeInfo(int _week, int _starttime, int _endtime, int _type) { 8 | week = _week; 9 | starttime = _starttime; 10 | endtime = _endtime; 11 | type = _type; 12 | } 13 | } -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/grade/Course.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.grade; 2 | 3 | public class Course { 4 | String name; 5 | String fullname; 6 | Semester semester; 7 | String weight; 8 | String grade; 9 | String delta; 10 | String accurate; 11 | String gpa; 12 | String type; 13 | 14 | public Course(Semester _semester, String _name, String _fullname, String _type, 15 | String _weight, String _grade, String _delta, String _accurate, String _gpa) { 16 | name = _name.trim(); 17 | fullname = _fullname.trim(); 18 | type = _type.trim(); 19 | semester = _semester; 20 | weight = _weight.trim(); 21 | grade = _grade.trim(); 22 | delta = _delta.trim(); 23 | accurate = _accurate.trim(); 24 | gpa = _gpa.trim(); 25 | if ("0".equals(accurate)) { 26 | grade = grade + "±" + delta; 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/grade/Semester.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.grade; 2 | 3 | import java.util.ArrayList; 4 | import java.util.Iterator; 5 | 6 | public class Semester { 7 | String year; 8 | String term; 9 | ArrayList courses; 10 | String gpa; 11 | String weight; 12 | boolean isDual; 13 | 14 | public Semester(String _year, String _term, String _gpa, boolean _isDual) { 15 | year = _year; 16 | term = _term; 17 | gpa = _gpa; 18 | weight = ""; 19 | courses = new ArrayList(); 20 | isDual = _isDual; 21 | } 22 | 23 | public void addCourse(String _name, String _fullname, String _type, 24 | String _weight, String _grade, String _delta, String _accurate, String _gpa) { 25 | Course course = new Course(this, _name, _fullname, _type, _weight, 26 | _grade, _delta, _accurate, _gpa); 27 | courses.add(course); 28 | } 29 | 30 | public boolean isThisSemester(String _year, String _term) { 31 | return year.equals(_year) && term.equals(_term); 32 | } 33 | 34 | public void calWeight() { 35 | int w = 0; 36 | Iterator iterator = courses.iterator(); 37 | while (iterator.hasNext()) { 38 | float sc = Float.parseFloat(iterator.next().weight); 39 | w += (int) sc; 40 | } 41 | weight = w + ""; 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/lib/DataObject.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.lib; 2 | 3 | public class DataObject { 4 | private static DataObject instance; 5 | private Object object; 6 | 7 | public static DataObject getInstance() { 8 | if (instance == null) 9 | instance = new DataObject(); 10 | return instance; 11 | } 12 | 13 | public void setObject(Object _object) { 14 | object = _object; 15 | } 16 | 17 | public Object getObject() { 18 | return object; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/lib/Features.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.lib; 2 | 3 | import android.content.Context; 4 | import android.graphics.drawable.Drawable; 5 | 6 | import java.io.File; 7 | 8 | public class Features { 9 | public Drawable drawable; 10 | int id; 11 | public String title; 12 | String imgurl; 13 | public String color; 14 | public String darkcolor; 15 | public String url; 16 | 17 | public Features(Context context, int _id, String _title, String _imgurl, String _color, 18 | String _darkcolor, String _url) { 19 | id = _id; 20 | title = _title; 21 | imgurl = _imgurl; 22 | color = _color; 23 | darkcolor = _darkcolor; 24 | url = _url; 25 | drawable = null; 26 | File file = MyFile.getCache(context, Util.getHash(url)); 27 | if (file.exists()) { 28 | try { 29 | drawable = Drawable.createFromPath(file.getAbsolutePath()); 30 | } catch (Exception e) { 31 | drawable = null; 32 | } 33 | } 34 | if (drawable == null) { 35 | Lib.getDrawable(context, Constants.REQUEST_FEATURES_IMAGE, imgurl, id); 36 | } 37 | } 38 | } -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/lib/MyDrawable.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.lib; 2 | 3 | import android.graphics.Color; 4 | import android.graphics.drawable.Drawable; 5 | import android.graphics.drawable.GradientDrawable; 6 | import android.graphics.drawable.LayerDrawable; 7 | 8 | import com.pkuhelper.PKUHelper; 9 | 10 | public class MyDrawable { 11 | public static Drawable getDrawable(int picId, String colorname) { 12 | return getDrawable(picId, colorname, 80); 13 | } 14 | 15 | public static Drawable getDrawable(int picId, String colorname, int width) { 16 | return getDrawable(PKUHelper.pkuhelper.getResources().getDrawable(picId), colorname); 17 | } 18 | 19 | public static Drawable getDrawable(Drawable drawable, String colorname) { 20 | return getDrawable(drawable, colorname, 80); 21 | } 22 | 23 | public static Drawable getDrawable(Drawable drawable, String colorname, int width) { 24 | GradientDrawable gradientDrawable = new GradientDrawable(); 25 | int color; 26 | try { 27 | color = Color.parseColor(colorname); 28 | } catch (Exception e) { 29 | color = Util.generateColorInt(); 30 | } 31 | gradientDrawable.setShape(GradientDrawable.OVAL); 32 | gradientDrawable.setBounds(0, 0, width, width); 33 | gradientDrawable.setColor(color); 34 | if (drawable == null) return gradientDrawable; 35 | 36 | Drawable[] array = new Drawable[2]; 37 | drawable.setBounds(0, 0, width, width); 38 | array[1] = drawable; 39 | array[0] = gradientDrawable; 40 | 41 | LayerDrawable layerDrawable = new LayerDrawable(array); 42 | layerDrawable.setLayerInset(0, 0, 0, 0, 0); 43 | layerDrawable.setLayerInset(1, 0, 0, 0, 0); 44 | layerDrawable.setBounds(0, 0, width, width); 45 | return layerDrawable; 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/lib/view/AspectRatioImageView.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.lib.view; 2 | 3 | import android.content.Context; 4 | import android.util.AttributeSet; 5 | import android.widget.ImageView; 6 | 7 | public class AspectRatioImageView extends ImageView { 8 | 9 | public AspectRatioImageView(Context context) { 10 | super(context); 11 | } 12 | 13 | public AspectRatioImageView(Context context, AttributeSet attrs) { 14 | super(context, attrs); 15 | } 16 | 17 | public AspectRatioImageView(Context context, AttributeSet attrs, int defStyle) { 18 | super(context, attrs, defStyle); 19 | } 20 | 21 | @Override 22 | protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 23 | if (getDrawable() == null) { 24 | super.onMeasure(widthMeasureSpec, heightMeasureSpec); 25 | return; 26 | } 27 | int width = MeasureSpec.getSize(widthMeasureSpec); 28 | int height = width * getDrawable().getIntrinsicHeight() / getDrawable().getIntrinsicWidth(); 29 | if (height >= 1.5 * width) height = (int) (1.5 * width); 30 | setMeasuredDimension(width, height); 31 | } 32 | } -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/lib/view/CustomViewPager.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.lib.view; 2 | 3 | import android.annotation.SuppressLint; 4 | import android.content.Context; 5 | import android.support.v4.view.ViewPager; 6 | import android.util.AttributeSet; 7 | import android.view.MotionEvent; 8 | 9 | public class CustomViewPager extends ViewPager { 10 | 11 | private boolean isPagingEnabled = true; 12 | 13 | public CustomViewPager(Context context) { 14 | super(context); 15 | } 16 | 17 | public CustomViewPager(Context context, AttributeSet attrs) { 18 | super(context, attrs); 19 | } 20 | 21 | @SuppressLint("ClickableViewAccessibility") 22 | @Override 23 | public boolean onTouchEvent(MotionEvent event) { 24 | return this.isPagingEnabled && super.onTouchEvent(event); 25 | } 26 | 27 | @Override 28 | public boolean onInterceptTouchEvent(MotionEvent event) { 29 | return this.isPagingEnabled && super.onInterceptTouchEvent(event); 30 | } 31 | 32 | public void setPagingEnabled(boolean b) { 33 | this.isPagingEnabled = b; 34 | } 35 | } -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/lib/view/MyDatePickerDialog.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.lib.view; 2 | 3 | import android.app.DatePickerDialog; 4 | import android.content.Context; 5 | import android.widget.DatePicker; 6 | 7 | public class MyDatePickerDialog extends DatePickerDialog { 8 | private String title; 9 | 10 | public MyDatePickerDialog(Context context, OnDateSetListener callBack, int year, int monthOfYear, int dayOfMonth) { 11 | super(context, callBack, year, monthOfYear, dayOfMonth); 12 | } 13 | 14 | public void setPermanentTitle(String title) { 15 | this.title = title; 16 | setTitle(title); 17 | } 18 | 19 | @Override 20 | public void onDateChanged(DatePicker view, int year, int month, int day) { 21 | super.onDateChanged(view, year, month, day); 22 | setTitle(title); 23 | } 24 | } -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/lib/view/MyTimePickerDialog.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.lib.view; 2 | 3 | import android.app.TimePickerDialog; 4 | import android.content.Context; 5 | import android.widget.TimePicker; 6 | 7 | public class MyTimePickerDialog extends TimePickerDialog { 8 | private String title; 9 | 10 | public MyTimePickerDialog(Context context, OnTimeSetListener callBack, int hourOfDay, int minute, boolean is24HourView) { 11 | super(context, callBack, hourOfDay, minute, is24HourView); 12 | } 13 | 14 | public void setPermanentTitle(String title) { 15 | this.title = title; 16 | setTitle(title); 17 | } 18 | 19 | @Override 20 | public void onTimeChanged(TimePicker timePicker, int hour, int minute) { 21 | super.onTimeChanged(timePicker, hour, minute); 22 | setTitle(title); 23 | } 24 | } -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/lib/view/SquareRelativeLayout.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.lib.view; 2 | 3 | import android.content.Context; 4 | import android.util.AttributeSet; 5 | import android.widget.RelativeLayout; 6 | 7 | public class SquareRelativeLayout extends RelativeLayout { 8 | public SquareRelativeLayout(Context context) { 9 | super(context); 10 | } 11 | 12 | public SquareRelativeLayout(Context context, AttributeSet a) { 13 | super(context, a); 14 | } 15 | 16 | public SquareRelativeLayout(Context context, AttributeSet a, int b) { 17 | super(context, a, b); 18 | } 19 | 20 | @Override 21 | protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 22 | super.onMeasure(widthMeasureSpec, widthMeasureSpec); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/lib/view/colorpicker/AbsColorWheelRenderer.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.lib.view.colorpicker; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | public abstract class AbsColorWheelRenderer implements ColorWheelRenderer { 7 | protected ColorWheelRenderOption colorWheelRenderOption; 8 | protected List colorCircleList; 9 | 10 | public void initWith(ColorWheelRenderOption colorWheelRenderOption) { 11 | this.colorWheelRenderOption = colorWheelRenderOption; 12 | this.colorCircleList = new ArrayList(); 13 | } 14 | 15 | @Override 16 | public ColorWheelRenderOption getRenderOption() { 17 | if (colorWheelRenderOption == null) colorWheelRenderOption = new ColorWheelRenderOption(); 18 | return colorWheelRenderOption; 19 | } 20 | 21 | public List getColorCircleList() { 22 | return colorCircleList; 23 | } 24 | 25 | protected int getAlphaValueAsInt() { 26 | return Math.round(colorWheelRenderOption.alpha * 255); 27 | } 28 | 29 | protected int calcTotalCount(float radius, float size) { 30 | return Math.max(1, (int) ((1f - GAP_PERCENTAGE) * Math.PI / (Math.asin(size / radius)) + 0.5f)); 31 | } 32 | } -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/lib/view/colorpicker/CircleColorDrawable.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.lib.view.colorpicker; 2 | 3 | import android.graphics.Canvas; 4 | import android.graphics.Paint; 5 | import android.graphics.drawable.ColorDrawable; 6 | 7 | public class CircleColorDrawable extends ColorDrawable { 8 | private float strokeWidth; 9 | private Paint strokePaint = PaintBuilder.newPaint().style(Paint.Style.STROKE).stroke(strokeWidth).color(0xffffffff).build(); 10 | private Paint fillPaint = PaintBuilder.newPaint().style(Paint.Style.FILL).color(0).build(); 11 | private Paint fillBackPaint = PaintBuilder.newPaint().shader(PaintBuilder.createAlphaPatternShader(16)).build(); 12 | 13 | public CircleColorDrawable(int color) { 14 | super(color); 15 | } 16 | 17 | @Override 18 | public void draw(Canvas canvas) { 19 | canvas.drawColor(0); 20 | 21 | int width = canvas.getWidth(); 22 | float radius = width / 2f; 23 | strokeWidth = radius / 12f; 24 | 25 | this.strokePaint.setStrokeWidth(strokeWidth); 26 | this.fillPaint.setColor(getColor()); 27 | canvas.drawCircle(radius, radius, radius - strokeWidth * 1.5f, fillBackPaint); 28 | canvas.drawCircle(radius, radius, radius - strokeWidth * 1.5f, fillPaint); 29 | canvas.drawCircle(radius, radius, radius - strokeWidth, strokePaint); 30 | } 31 | 32 | @Override 33 | public void setColor(int color) { 34 | super.setColor(color); 35 | invalidateSelf(); 36 | } 37 | } -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/lib/view/colorpicker/ColorCircle.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.lib.view.colorpicker; 2 | 3 | import android.graphics.Color; 4 | 5 | public class ColorCircle { 6 | private float x, y; 7 | private float[] hsv = new float[3]; 8 | private float[] hsvClone; 9 | private int color; 10 | 11 | public ColorCircle(float x, float y, float[] hsv) { 12 | set(x, y, hsv); 13 | } 14 | 15 | public double sqDist(float x, float y) { 16 | double dx = this.x - x; 17 | double dy = this.y - y; 18 | return dx * dx + dy * dy; 19 | } 20 | 21 | public float getX() { 22 | return x; 23 | } 24 | 25 | public float getY() { 26 | return y; 27 | } 28 | 29 | public float[] getHsv() { 30 | return hsv; 31 | } 32 | 33 | public float[] getHsvWithLightness(float lightness) { 34 | if (hsvClone == null) 35 | hsvClone = hsv.clone(); 36 | hsvClone[0] = hsv[0]; 37 | hsvClone[1] = hsv[1]; 38 | hsvClone[2] = lightness; 39 | return hsvClone; 40 | } 41 | 42 | public void set(float x, float y, float[] hsv) { 43 | this.x = x; 44 | this.y = y; 45 | this.hsv[0] = hsv[0]; 46 | this.hsv[1] = hsv[1]; 47 | this.hsv[2] = hsv[2]; 48 | this.color = Color.HSVToColor(this.hsv); 49 | } 50 | 51 | public int getColor() { 52 | return color; 53 | } 54 | } -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/lib/view/colorpicker/ColorPickerClickListener.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.lib.view.colorpicker; 2 | 3 | import android.content.DialogInterface; 4 | 5 | public interface ColorPickerClickListener { 6 | void onClick(DialogInterface d, int lastSelectedColor, Integer[] allColors); 7 | } 8 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/lib/view/colorpicker/ColorWheelRenderOption.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.lib.view.colorpicker; 2 | 3 | import android.graphics.Canvas; 4 | 5 | public class ColorWheelRenderOption { 6 | public int density; 7 | public float maxRadius; 8 | public float cSize, strokeWidth, alpha, lightness; 9 | public Canvas targetCanvas; 10 | } -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/lib/view/colorpicker/ColorWheelRenderer.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.lib.view.colorpicker; 2 | 3 | import java.util.List; 4 | 5 | public interface ColorWheelRenderer { 6 | float GAP_PERCENTAGE = 0.025f; 7 | 8 | void draw(); 9 | 10 | ColorWheelRenderOption getRenderOption(); 11 | 12 | void initWith(ColorWheelRenderOption colorWheelRenderOption); 13 | 14 | List getColorCircleList(); 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/lib/view/colorpicker/ColorWheelRendererBuilder.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.lib.view.colorpicker; 2 | 3 | 4 | public class ColorWheelRendererBuilder { 5 | public static ColorWheelRenderer getRenderer(ColorPickerView.WHEEL_TYPE wheelType) { 6 | switch (wheelType) { 7 | case CIRCLE: 8 | return new SimpleColorWheelRenderer(); 9 | case FLOWER: 10 | return new FlowerColorWheelRenderer(); 11 | } 12 | throw new IllegalArgumentException("wrong WHEEL_TYPE"); 13 | } 14 | } -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/lib/view/colorpicker/FlowerColorWheelRenderer.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.lib.view.colorpicker; 2 | 3 | import android.graphics.Color; 4 | import android.graphics.Paint; 5 | 6 | public class FlowerColorWheelRenderer extends AbsColorWheelRenderer { 7 | private Paint selectorFill = PaintBuilder.newPaint().build(); 8 | private float[] hsv = new float[3]; 9 | 10 | @Override 11 | public void draw() { 12 | final int setSize = colorCircleList.size(); 13 | int currentCount = 0; 14 | float half = colorWheelRenderOption.targetCanvas.getWidth() / 2f; 15 | int density = colorWheelRenderOption.density; 16 | float strokeWidth = colorWheelRenderOption.strokeWidth; 17 | float maxRadius = colorWheelRenderOption.maxRadius; 18 | float cSize = colorWheelRenderOption.cSize; 19 | 20 | for (int i = 0; i < density; i++) { 21 | float p = (float) i / (density - 1); // 0~1 22 | float jitter = (i - density / 2f) / density; // -0.5 ~ 0.5 23 | float radius = maxRadius * p; 24 | float sizeJitter = 1.2f; 25 | float size = Math.max(1.5f + strokeWidth, cSize + (i == 0 ? 0 : cSize * sizeJitter * jitter)); 26 | int total = Math.min(calcTotalCount(radius, size), density * 2); 27 | 28 | for (int j = 0; j < total; j++) { 29 | double angle = Math.PI * 2 * j / total + (Math.PI / total) * ((i + 1) % 2); 30 | float x = half + (float) (radius * Math.cos(angle)); 31 | float y = half + (float) (radius * Math.sin(angle)); 32 | hsv[0] = (float) (angle * 180 / Math.PI); 33 | hsv[1] = radius / maxRadius; 34 | hsv[2] = colorWheelRenderOption.lightness; 35 | selectorFill.setColor(Color.HSVToColor(hsv)); 36 | selectorFill.setAlpha(getAlphaValueAsInt()); 37 | 38 | colorWheelRenderOption.targetCanvas.drawCircle(x, y, size - strokeWidth, selectorFill); 39 | 40 | if (currentCount >= setSize) 41 | colorCircleList.add(new ColorCircle(x, y, hsv)); 42 | else colorCircleList.get(currentCount).set(x, y, hsv); 43 | currentCount++; 44 | } 45 | } 46 | } 47 | } -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/lib/view/colorpicker/OnColorSelectedListener.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.lib.view.colorpicker; 2 | 3 | public interface OnColorSelectedListener { 4 | void onColorSelected(int selectedColor); 5 | } 6 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/lib/view/colorpicker/SimpleColorWheelRenderer.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.lib.view.colorpicker; 2 | 3 | import android.graphics.Color; 4 | import android.graphics.Paint; 5 | 6 | public class SimpleColorWheelRenderer extends AbsColorWheelRenderer { 7 | private Paint selectorFill = PaintBuilder.newPaint().build(); 8 | private float[] hsv = new float[3]; 9 | 10 | @Override 11 | public void draw() { 12 | final int setSize = colorCircleList.size(); 13 | int currentCount = 0; 14 | float half = colorWheelRenderOption.targetCanvas.getWidth() / 2f; 15 | int density = colorWheelRenderOption.density; 16 | float maxRadius = colorWheelRenderOption.maxRadius; 17 | 18 | for (int i = 0; i < density; i++) { 19 | float p = (float) i / (density - 1); // 0~1 20 | float radius = maxRadius * p; 21 | float size = colorWheelRenderOption.cSize; 22 | int total = calcTotalCount(radius, size); 23 | 24 | for (int j = 0; j < total; j++) { 25 | double angle = Math.PI * 2 * j / total + (Math.PI / total) * ((i + 1) % 2); 26 | float x = half + (float) (radius * Math.cos(angle)); 27 | float y = half + (float) (radius * Math.sin(angle)); 28 | hsv[0] = (float) (angle * 180 / Math.PI); 29 | hsv[1] = radius / maxRadius; 30 | hsv[2] = colorWheelRenderOption.lightness; 31 | selectorFill.setColor(Color.HSVToColor(hsv)); 32 | selectorFill.setAlpha(getAlphaValueAsInt()); 33 | 34 | colorWheelRenderOption.targetCanvas.drawCircle(x, y, size - colorWheelRenderOption.strokeWidth, selectorFill); 35 | 36 | if (currentCount >= setSize) 37 | colorCircleList.add(new ColorCircle(x, y, hsv)); 38 | else colorCircleList.get(currentCount).set(x, y, hsv); 39 | currentCount++; 40 | } 41 | } 42 | } 43 | } -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/lib/view/colorpicker/Utils.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.lib.view.colorpicker; 2 | 3 | import android.graphics.Color; 4 | 5 | public class Utils { 6 | public static float getAlphaPercent(int argb) { 7 | return Color.alpha(argb) / 255f; 8 | } 9 | 10 | public static int alphaValueAsInt(float alpha) { 11 | return Math.round(alpha * 255); 12 | } 13 | 14 | public static int adjustAlpha(float alpha, int color) { 15 | return alphaValueAsInt(alpha) << 24 | (0x00ffffff & color); 16 | } 17 | 18 | public static int colorAtLightness(int color, float lightness) { 19 | float[] hsv = new float[3]; 20 | Color.colorToHSV(color, hsv); 21 | hsv[2] = lightness; 22 | return Color.HSVToColor(hsv); 23 | } 24 | 25 | public static float lightnessOfColor(int color) { 26 | float[] hsv = new float[3]; 27 | Color.colorToHSV(color, hsv); 28 | return hsv[2]; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/lib/webconnection/Parameters.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.lib.webconnection; 2 | 3 | public class Parameters { 4 | public String name; 5 | public String value; 6 | 7 | public Parameters(String _name, String _value) { 8 | name = _name; 9 | value = _value; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/lostfound/old/EventHandler.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.lostfound.old; 2 | 3 | import android.os.Handler; 4 | import android.os.Looper; 5 | import android.os.Message; 6 | 7 | import com.pkuhelper.lib.Constants; 8 | import com.pkuhelper.lib.view.CustomToast; 9 | 10 | public class EventHandler extends Handler { 11 | public EventHandler() { 12 | super(); 13 | } 14 | 15 | public EventHandler(Looper looper) { 16 | super(looper); 17 | } 18 | 19 | @Override 20 | public void handleMessage(Message message) { 21 | super.handleMessage(message); 22 | String string; 23 | switch (message.what) { 24 | case Constants.MESSAGE_LOSTFOUND_IMAGE_REQUEST_FINISHED: 25 | case Constants.MESSAGE_LOSTFOUND_IMAGE_REQUEST_FAILED: 26 | Image.setImage((Image) message.obj); 27 | break; 28 | case Constants.MESSAGE_LOSTFOUND_LOST_MORE_FINISHED: 29 | Lost.finishMoreRequest((String) message.obj); 30 | break; 31 | case Constants.MESSAGE_LOSTFOUND_FOUND_MORE_FINISHED: 32 | Found.finishMoreRequest((String) message.obj); 33 | break; 34 | case Constants.MESSAGE_LOSTFOUND_LOST_MORE_FAILED: 35 | case Constants.MESSAGE_LOSTFOUND_FOUND_MORE_FAILED: 36 | case Constants.MESSAGE_LOSTFOUND_MY_MORE_FAILED: 37 | string = (String) message.obj; 38 | if ("-1".equals(string)) { 39 | CustomToast.showInfoToast(LostFoundActivity.lostFoundActivity, "无法连接网络(-1,-1)", 1000); 40 | } else 41 | CustomToast.showInfoToast(LostFoundActivity.lostFoundActivity, "无法连接到服务器 (HTTP " + string + ")", 1000); 42 | break; 43 | } 44 | } 45 | } -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/lostfound/old/LostFoundInfo.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.lostfound.old; 2 | 3 | import com.pkuhelper.lib.Constants; 4 | 5 | public class LostFoundInfo { 6 | public static final int LOST = 1; 7 | public static final int FOUND = 2; 8 | public static final int TYPE_CARD = 3; 9 | public static final int TYPE_BOOK = 4; 10 | public static final int TYPE_DEVICE = 5; 11 | public static final int TYPE_OTHERS = 6; 12 | 13 | int id; 14 | String name; 15 | int lost_or_found; 16 | int type; 17 | String detail; 18 | long posttime; 19 | long actiontime; 20 | String imgURL; 21 | String thumbImgUrl; 22 | String imgName; 23 | String posterUid; 24 | String posterPhone; 25 | String posterName; 26 | String posterCollege; 27 | 28 | public LostFoundInfo(int _id, String _name, String _lost_or_found, String _type, 29 | String _detail, long _posttime, long _actiontime, String _image, 30 | String _posterUid, String _posterPhone, String _posterName, String _posterCollege) { 31 | id = _id; 32 | name = _name; 33 | if ("lost".equals(_lost_or_found)) lost_or_found = LOST; 34 | else lost_or_found = FOUND; 35 | if ("card".equals(_type)) type = TYPE_CARD; 36 | else if ("book".equals(_type)) type = TYPE_BOOK; 37 | else if ("device".equals(_type)) type = TYPE_DEVICE; 38 | else type = TYPE_OTHERS; 39 | detail = _detail; 40 | //posttime=_posttime+28800; // 8 hours 41 | //actiontime=_actiontime+28800; 42 | posttime = _posttime; 43 | actiontime = _actiontime; 44 | if (_image != null && !"".equals(_image)) { 45 | imgName = _image; 46 | imgURL = Constants.domain + "/services/image/" + _image + ".jpg"; 47 | thumbImgUrl = Constants.domain + "/services/image/" + _image + "_thumb.jpg"; 48 | } else { 49 | imgURL = ""; 50 | thumbImgUrl = ""; 51 | imgName = ""; 52 | } 53 | posterUid = _posterUid; 54 | posterPhone = _posterPhone; 55 | posterName = _posterName; 56 | posterCollege = _posterCollege; 57 | if (!"".equals(thumbImgUrl)) 58 | Image.requestImage(id, thumbImgUrl); 59 | } 60 | 61 | } 62 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/media/Content.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.media; 2 | 3 | public class Content { 4 | public int nid; 5 | public String title; 6 | public int sid; 7 | public String url; 8 | public String subscribe; 9 | public String time; 10 | 11 | public Content(int _nid, String _title, int _sid, 12 | String _url, String _subscribe, String _time) { 13 | nid = _nid; 14 | title = _title; 15 | sid = _sid; 16 | url = _url; 17 | subscribe = _subscribe; 18 | if (subscribe.length() >= 30) 19 | subscribe = subscribe.substring(0, 29) + "..."; 20 | time = _time; 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/media/EventHandler.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.media; 2 | 3 | import android.os.Handler; 4 | import android.os.Looper; 5 | import android.os.Message; 6 | 7 | import com.pkuhelper.lib.Constants; 8 | import com.pkuhelper.lib.view.CustomToast; 9 | 10 | public class EventHandler extends Handler { 11 | public EventHandler() { 12 | super(); 13 | } 14 | 15 | public EventHandler(Looper looper) { 16 | super(looper); 17 | } 18 | 19 | @Override 20 | public void handleMessage(Message message) { 21 | super.handleMessage(message); 22 | String string; 23 | switch (message.what) { 24 | case Constants.MESSAGE_MEDIA_LIST_MORE_FAILED: 25 | string = (String) message.obj; 26 | if ("-1".equals(string)) 27 | CustomToast.showInfoToast(MediaActivity.mediaActivity, "无法连接网络(-1,-1)"); 28 | else 29 | CustomToast.showInfoToast(MediaActivity.mediaActivity, "无法连接到服务器 (HTTP " + string + ")"); 30 | break; 31 | case Constants.MESSAGE_MEDIA_LIST_MORE_FINISHED: 32 | MediaList.finishMoreRequest((String) message.obj); 33 | break; 34 | } 35 | } 36 | } -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/media/Source.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.media; 2 | 3 | import android.annotation.SuppressLint; 4 | 5 | import com.pkuhelper.lib.webconnection.Parameters; 6 | 7 | import java.util.ArrayList; 8 | import java.util.HashMap; 9 | 10 | @SuppressLint("UseSparseArrays") 11 | public class Source { 12 | public int sid; 13 | public String name; 14 | public static HashMap sources = new HashMap(); 15 | 16 | public Source(int _sid, String _name) { 17 | sid = _sid; 18 | name = new String(_name); 19 | } 20 | 21 | public static void init() { 22 | if (sources == null) sources = new HashMap(); 23 | sources.clear(); 24 | sources.put(1, new Source(1, "北京大学官方微信")); 25 | sources.put(2, new Source(2, "北京大学官方微博")); 26 | sources.put(3, new Source(3, "北大未名BBS官方微信")); 27 | sources.put(4, new Source(4, "北大未名BBS官方微博")); 28 | sources.put(5, new Source(5, "北大新青年官方微信")); 29 | } 30 | 31 | public static void setSources(ArrayList arrayList) { 32 | if (sources == null) sources = new HashMap(); 33 | sources.clear(); 34 | for (Parameters parameter : arrayList) 35 | sources.put(Integer.parseInt(parameter.name), new Source(Integer.parseInt(parameter.name), parameter.value)); 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/noticecenter/Content.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.noticecenter; 2 | 3 | import android.util.Log; 4 | 5 | public class Content { 6 | public int nid; 7 | public String title; 8 | public String sid; 9 | public String url; 10 | public String subscribe; 11 | public String time; 12 | 13 | public Content(String _nid, String _title, String _sid, 14 | String _url, String _subscribe, String _time) { 15 | nid = Integer.parseInt(_nid); 16 | title = _title; 17 | sid = _sid; 18 | url = _url; 19 | subscribe = _subscribe; 20 | if (subscribe.length() >= 30) 21 | subscribe = subscribe.substring(0, 28) + "..."; 22 | time = _time; 23 | } 24 | 25 | public void print() { 26 | Log.i("nid_" + nid, nid + ""); 27 | Log.i("title_" + nid, title); 28 | Log.i("sid_" + nid, sid); 29 | Log.i("url_" + nid, url); 30 | Log.i("subscribe_" + nid, subscribe); 31 | Log.i("time_" + nid, time); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/noticecenter/EventHandler.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.noticecenter; 2 | 3 | import android.graphics.drawable.Drawable; 4 | import android.os.Handler; 5 | import android.os.Looper; 6 | import android.os.Message; 7 | 8 | import com.pkuhelper.lib.Constants; 9 | import com.pkuhelper.lib.view.CustomToast; 10 | 11 | public class EventHandler extends Handler { 12 | public EventHandler() { 13 | super(); 14 | } 15 | 16 | public EventHandler(Looper looper) { 17 | super(looper); 18 | } 19 | 20 | @Override 21 | public void handleMessage(Message message) { 22 | super.handleMessage(message); 23 | String string; 24 | switch (message.what) { 25 | case Constants.MESSAGE_NOTICECENTER_IMAGE_REQUEST: 26 | Notice notice = NCActivity.ncActivity.sourceListMap.get(message.arg1 + ""); 27 | if (notice != null) notice.setIcon((Drawable) message.obj); 28 | break; 29 | case Constants.MESSAGE_NOTICECENTER_LIST_MORE_FAILED: 30 | string = (String) message.obj; 31 | if ("-1".equals(string)) 32 | CustomToast.showInfoToast(NCActivity.ncActivity, "无法连接网络(-1,-1)"); 33 | else 34 | CustomToast.showInfoToast(NCActivity.ncActivity, "无法连接到服务器 (HTTP " + string + ")"); 35 | break; 36 | case Constants.MESSAGE_NOTICECENTER_LIST_MORE_FINISHED: 37 | NCContent.finishMoreRequest((String) message.obj); 38 | break; 39 | case Constants.MESSAGE_NOTICECENTER_ONE_MORE_FAILED: 40 | string = (String) message.obj; 41 | if ("-1".equals(string)) 42 | CustomToast.showInfoToast(NCActivity.ncActivity, "无法连接网络(-1,-1)"); 43 | else 44 | CustomToast.showInfoToast(NCActivity.ncActivity, "无法连接到服务器 (HTTP " + string + ")"); 45 | break; 46 | case Constants.MESSAGE_NOTICECENTER_ONE_MORE_FINISHED: 47 | NCContent.finishMoreRequest(NCActivity.ncActivity.lastRequestSid, (String) message.obj); 48 | break; 49 | } 50 | } 51 | } -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/pkuhole/CommentInfo.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.pkuhole; 2 | 3 | public class CommentInfo { 4 | int cid; 5 | String text; 6 | boolean islz; 7 | long timestamp; 8 | 9 | public CommentInfo(int _cid, String _text, boolean _islz, long _timestamp) { 10 | cid = _cid; 11 | text = new String(_text); 12 | islz = _islz; 13 | timestamp = _timestamp * 1000; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/pkuhole/old/EventHandler.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.pkuhole.old; 2 | 3 | import android.os.Handler; 4 | import android.os.Looper; 5 | import android.os.Message; 6 | 7 | import com.pkuhelper.lib.Constants; 8 | import com.pkuhelper.lib.view.CustomToast; 9 | 10 | public class EventHandler extends Handler { 11 | public EventHandler() { 12 | super(); 13 | } 14 | 15 | public EventHandler(Looper looper) { 16 | super(looper); 17 | } 18 | 19 | @Override 20 | public void handleMessage(Message message) { 21 | super.handleMessage(message); 22 | String string = ""; 23 | switch (message.what) { 24 | case Constants.MESSAGE_PKUHOLE_LIST_MORE_FAILED: 25 | string = (String) message.obj; 26 | if ("-1".equals(string)) 27 | CustomToast.showInfoToast(PKUHoleActivity.pkuHoleActivity, "无法连接网络(-1,-1)"); 28 | else 29 | CustomToast.showInfoToast(PKUHoleActivity.pkuHoleActivity, "无法连接到服务器 (HTTP " + string + ")"); 30 | break; 31 | case Constants.MESSAGE_PKUHOLE_LIST_MORE_FINISHED: 32 | string = (String) message.obj; 33 | ShowLists.finishRequest(string); 34 | break; 35 | case Constants.MESSAGE_PKUHOLE_IMAGE_REQUEST: 36 | ShowComments.imageRequestFinished(message.arg1, message.obj); 37 | break; 38 | case Constants.REQUEST_PKUHOLE_GET_DETAIL_FAILED: 39 | case Constants.REQUEST_PKUHOLE_GET_DETAIL_FINISHED: 40 | PKUHoleActivity.pkuHoleActivity.finishRequest(message.what, (String) message.obj); 41 | break; 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/pkuhole/old/HoleMessage.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.pkuhole.old; 2 | 3 | public class HoleMessage { 4 | String id; 5 | String statusId; 6 | String time; 7 | String text; 8 | String hint; 9 | 10 | public HoleMessage(String _id, String _statusId, String _time, String _text) { 11 | id = _id; 12 | statusId = _statusId; 13 | time = _time; 14 | text = _text; 15 | hint = text; 16 | if (hint.length() >= 250) 17 | hint = hint.substring(0, 249) + "..."; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/qrcode/AutoFocusCallback.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2010 ZXing authors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.pkuhelper.qrcode; 18 | 19 | import android.hardware.Camera; 20 | import android.os.Handler; 21 | import android.os.Message; 22 | import android.util.Log; 23 | 24 | final class AutoFocusCallback implements Camera.AutoFocusCallback { 25 | 26 | private static final String TAG = AutoFocusCallback.class.getSimpleName(); 27 | 28 | private static final long AUTOFOCUS_INTERVAL_MS = 1500L; 29 | 30 | private Handler autoFocusHandler; 31 | private int autoFocusMessage; 32 | 33 | void setHandler(Handler autoFocusHandler, int autoFocusMessage) { 34 | this.autoFocusHandler = autoFocusHandler; 35 | this.autoFocusMessage = autoFocusMessage; 36 | } 37 | 38 | @Override 39 | public void onAutoFocus(boolean success, Camera camera) { 40 | if (autoFocusHandler != null) { 41 | Message message = autoFocusHandler.obtainMessage(autoFocusMessage, success); 42 | autoFocusHandler.sendMessageDelayed(message, AUTOFOCUS_INTERVAL_MS); 43 | autoFocusHandler = null; 44 | } else { 45 | Log.d(TAG, "Got auto-focus callback, but no handler for it"); 46 | } 47 | } 48 | 49 | } 50 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/qrcode/FinishListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2010 ZXing authors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.pkuhelper.qrcode; 18 | 19 | import android.app.Activity; 20 | import android.content.DialogInterface; 21 | 22 | /** 23 | * Simple listener used to exit the app in a few cases. 24 | */ 25 | public final class FinishListener 26 | implements DialogInterface.OnClickListener, DialogInterface.OnCancelListener, Runnable { 27 | 28 | private final Activity activityToFinish; 29 | 30 | public FinishListener(Activity activityToFinish) { 31 | this.activityToFinish = activityToFinish; 32 | } 33 | 34 | @Override 35 | public void onCancel(DialogInterface dialogInterface) { 36 | run(); 37 | } 38 | 39 | @Override 40 | public void onClick(DialogInterface dialogInterface, int i) { 41 | run(); 42 | } 43 | 44 | @Override 45 | public void run() { 46 | activityToFinish.finish(); 47 | } 48 | 49 | } 50 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/qrcode/PreviewCallback.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2010 ZXing authors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.pkuhelper.qrcode; 18 | 19 | import android.graphics.Point; 20 | import android.hardware.Camera; 21 | import android.os.Handler; 22 | import android.os.Message; 23 | import android.util.Log; 24 | 25 | final class PreviewCallback implements Camera.PreviewCallback { 26 | 27 | private static final String TAG = PreviewCallback.class.getSimpleName(); 28 | 29 | private final CameraConfigurationManager configManager; 30 | private final boolean useOneShotPreviewCallback; 31 | private Handler previewHandler; 32 | private int previewMessage; 33 | 34 | PreviewCallback(CameraConfigurationManager configManager, boolean useOneShotPreviewCallback) { 35 | this.configManager = configManager; 36 | this.useOneShotPreviewCallback = useOneShotPreviewCallback; 37 | } 38 | 39 | void setHandler(Handler previewHandler, int previewMessage) { 40 | this.previewHandler = previewHandler; 41 | this.previewMessage = previewMessage; 42 | } 43 | 44 | @Override 45 | public void onPreviewFrame(byte[] data, Camera camera) { 46 | Point cameraResolution = configManager.getCameraResolution(); 47 | if (!useOneShotPreviewCallback) { 48 | camera.setPreviewCallback(null); 49 | } 50 | if (previewHandler != null) { 51 | Message message = previewHandler.obtainMessage(previewMessage, cameraResolution.x, 52 | cameraResolution.y, data); 53 | message.sendToTarget(); 54 | previewHandler = null; 55 | } else { 56 | Log.d(TAG, "Got preview callback, but no handler for it"); 57 | } 58 | } 59 | 60 | } 61 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/qrcode/ViewfinderResultPointCallback.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2009 ZXing authors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.pkuhelper.qrcode; 18 | 19 | import com.google.zxing.ResultPoint; 20 | import com.google.zxing.ResultPointCallback; 21 | 22 | public final class ViewfinderResultPointCallback implements ResultPointCallback { 23 | 24 | private final ViewfinderView viewfinderView; 25 | 26 | public ViewfinderResultPointCallback(ViewfinderView viewfinderView) { 27 | this.viewfinderView = viewfinderView; 28 | } 29 | 30 | @Override 31 | public void foundPossibleResultPoint(ResultPoint point) { 32 | viewfinderView.addPossibleResultPoint(point); 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/selfstudy/Constants.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.selfstudy; 2 | 3 | public class Constants { 4 | public static final String DBName = "Record"; 5 | 6 | public static final int span = 60*1000;// 以分作为最小时间跨度 7 | public static final int duration1 = 1; 8 | public static final int duration2 = 2; 9 | 10 | public static class Message { 11 | public static final int REFRESH_DURATION_STATE = 0; 12 | public static final int GIVE_UP = 1; 13 | public static final int CHANGE_HINT = 2; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/selfstudy/DBHelper.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.selfstudy; 2 | 3 | import android.content.Context; 4 | import android.database.sqlite.SQLiteDatabase; 5 | import android.database.sqlite.SQLiteOpenHelper; 6 | 7 | public class DBHelper extends SQLiteOpenHelper{ 8 | 9 | public DBHelper(Context context) { 10 | super(context, Constants.DBName, null, 1); 11 | } 12 | 13 | @Override 14 | public void onCreate(SQLiteDatabase db) { 15 | db.execSQL("create table records (id integer primary key autoincrement NOT NULL, timeStart long NOT NULL, timeEnd long NOT NULL)"); 16 | //db.close(); 17 | } 18 | 19 | @Override 20 | public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/selfstudy/FormatRecord.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.selfstudy; 2 | 3 | import java.text.SimpleDateFormat; 4 | import java.util.Date; 5 | import java.util.Locale; 6 | 7 | import com.pkuhelper.R; 8 | 9 | public class FormatRecord { 10 | public static Record getFormattedData(Record record) { 11 | long timeStart = record.getTimeStart(); 12 | long timeEnd = record.getTimeEnd(); 13 | // System.out.println(timeStart + " " + timeEnd + " " + (timeEnd-timeStart)); 14 | SimpleDateFormat df; 15 | 16 | df =new SimpleDateFormat("yyyy年MM月dd日 HH:mm", Locale.getDefault()); 17 | // System.out.println(df.format(new Date(timeStart))); 18 | 19 | df =new SimpleDateFormat("HH:mm", Locale.getDefault()); 20 | record.setFormattedTime(df.format(new Date(timeStart)) + " - " +df.format(new Date(timeEnd))); 21 | long span = timeEnd - timeStart; 22 | record.setDurationInHHmm(df.format(new Date(span - 8*3600*1000))); 23 | System.out.println("df.format(new Date(span))"); 24 | int high = (int) ((span+2000)/(float)(3600*1000));//加2秒延迟,令很接近2小时的时间显示为2小时 25 | int low = (int) (span/(float)(60*1000))%(60*1000); 26 | String duration; 27 | if(high > 0) { 28 | duration = high + "小时+"; 29 | // if(low > 0) { 30 | // duration += "+"; 31 | // } 32 | if (high < Constants.duration1) { 33 | record.setColorResourceId(R.drawable.shape_round_rect_1); 34 | } else if (Constants.duration1 <= high && high < Constants.duration2) { 35 | record.setColorResourceId(R.drawable.shape_round_rect_2); 36 | } else if (Constants.duration2 <= high) { 37 | record.setColorResourceId(R.drawable.shape_round_rect_3); 38 | record.setDurationInHHmm("02:00");// 39 | } 40 | } else { 41 | record.setColorResourceId(R.drawable.shape_round_rect_1); 42 | duration = low + "分钟"; 43 | } 44 | record.setFormattedDuration(duration); 45 | df =new SimpleDateFormat("yyyy年MM月dd日", Locale.getDefault()); 46 | record.setFormattedDate(df.format(new Date(timeStart))); 47 | // System.out.println(df.format(new Date(timeStart))); 48 | df =new SimpleDateFormat("E", Locale.getDefault()); 49 | record.setFormattedWeek(df.format(new Date(timeStart))); 50 | // System.out.println(df.format(new Date(timeStart))); 51 | return record; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/selfstudy/HintUtil.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.selfstudy; 2 | 3 | import java.util.Random; 4 | 5 | import android.content.Context; 6 | 7 | public class HintUtil { 8 | 9 | private Context context; 10 | private static String[] hint0 = new String[]{ 11 | "今天按下的关闭app,都是明天错过的满G4.0", 12 | "在关掉我之前,想想即将到来的ddl,如果你还是坚持离开我,那我……也无话可说", 13 | "当初说好的一心学习,原来只有我一个当真", 14 | "身为学渣,你没有点关闭的资格", 15 | "主人,你真的要让奴家去死嘛(哭)" 16 | }; 17 | private static String[] hint1 = new String[]{ 18 | "你已坚持了x分钟,胜利在望啊!", 19 | "主人你已坚持x分钟,我好崇拜你,快让我来为你捏捏肩捶捶腿~" 20 | }; 21 | private static String[] hint2 = new String[]{ 22 | "欢迎踏上学霸的征程,满G已经等你很久了", 23 | "终于等到你,还好我没放弃,欢迎开始学霸养成计划!", 24 | "你已进入“学神的秘密花园”,酷爱让我来蹂躏你[微笑]" 25 | }; 26 | private static String[] hint3 = new String[]{ 27 | "成功晋级学霸!", 28 | "向学神致敬!" 29 | }; 30 | 31 | public static String getString0() { 32 | return hint0[new Random().nextInt(hint0.length)]; 33 | } 34 | public static String getString1(int duration) { 35 | return hint1[new Random().nextInt(hint1.length)].replace("x", duration + ""); 36 | } 37 | public static String getString2() { 38 | return hint2[new Random().nextInt(hint2.length)]; 39 | } 40 | public static String getString3() { 41 | return hint3[new Random().nextInt(hint3.length)]; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/selfstudy/Record.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.selfstudy; 2 | 3 | public class Record { 4 | private int id; 5 | private long timeStart; 6 | private long timeEnd; 7 | 8 | private String formattedTime; 9 | private String formattedDuration; 10 | private String formattedDate; 11 | private String formattedWeek; 12 | 13 | private String durationInHHmm; 14 | 15 | public String getDurationInHHmm() { 16 | return durationInHHmm; 17 | } 18 | 19 | public void setDurationInHHmm(String durationInHHmm) { 20 | this.durationInHHmm = durationInHHmm; 21 | } 22 | 23 | private int colorResourceId; 24 | 25 | public Record(){} 26 | 27 | public Record(long timeStart, long timeEnd) { 28 | this.timeEnd = timeEnd; 29 | this.timeStart = timeStart; 30 | } 31 | 32 | public int getColorResourceId() { 33 | return colorResourceId; 34 | } 35 | 36 | public void setColorResourceId(int colorResourceId) { 37 | this.colorResourceId = colorResourceId; 38 | } 39 | 40 | public int getId() { 41 | return id; 42 | } 43 | 44 | public void setId(int id) { 45 | this.id = id; 46 | } 47 | 48 | public long getTimeStart() { 49 | return timeStart; 50 | } 51 | 52 | public void setTimeStart(long timeStart) { 53 | this.timeStart = timeStart; 54 | } 55 | 56 | public long getTimeEnd() { 57 | return timeEnd; 58 | } 59 | 60 | public void setTimeEnd(long timeEnd) { 61 | this.timeEnd = timeEnd; 62 | } 63 | 64 | public String getFormattedTime() { 65 | return formattedTime; 66 | } 67 | 68 | public void setFormattedTime(String formattedTime) { 69 | this.formattedTime = formattedTime; 70 | } 71 | 72 | public String getFormattedDuration() { 73 | return formattedDuration; 74 | } 75 | 76 | public void setFormattedDuration(String formattedDuration) { 77 | this.formattedDuration = formattedDuration; 78 | } 79 | 80 | public String getFormattedDate() { 81 | return formattedDate; 82 | } 83 | 84 | public void setFormattedDate(String formattedDate) { 85 | this.formattedDate = formattedDate; 86 | } 87 | 88 | public String getFormattedWeek() { 89 | return formattedWeek; 90 | } 91 | 92 | public void setFormattedWeek(String formattedWeek) { 93 | this.formattedWeek = formattedWeek; 94 | } 95 | 96 | } 97 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/selfstudy/ServiceRecord.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.selfstudy; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | 7 | import android.content.Context; 8 | import android.database.Cursor; 9 | import android.database.sqlite.SQLiteDatabase; 10 | 11 | public class ServiceRecord { 12 | DBHelper dbHelper; 13 | Context context; 14 | 15 | public ServiceRecord(Context context) { 16 | this.context = context; 17 | dbHelper = new DBHelper(context); 18 | } 19 | 20 | public void insertARecord(Record record) { 21 | SQLiteDatabase db = dbHelper.getWritableDatabase(); 22 | db.execSQL("insert into records (timeStart, timeEnd) values(" + record.getTimeStart() + ", " + record.getTimeEnd() + ")"); 23 | db.close(); 24 | } 25 | 26 | public void deleteAllData() { 27 | SQLiteDatabase db = dbHelper.getWritableDatabase(); 28 | db.execSQL("delete from records"); 29 | db.close(); 30 | } 31 | 32 | public List getRecords(String sql) { 33 | List list = new ArrayList<>(); 34 | SQLiteDatabase db = dbHelper.getReadableDatabase(); 35 | Cursor cursor = db.rawQuery(sql, null); 36 | Record record; 37 | while (cursor.moveToNext()) { 38 | record = new Record(); 39 | record.setId(cursor.getInt(cursor.getColumnIndex("id"))); 40 | record.setTimeStart(cursor.getLong(cursor.getColumnIndex("timeStart"))); 41 | record.setTimeEnd(cursor.getLong(cursor.getColumnIndex("timeEnd"))); 42 | long timeStart = record.getTimeStart(); 43 | long timeEnd = record.getTimeEnd(); 44 | System.out.println("servicerecord : " + timeStart + " " + timeEnd + " " + (timeEnd-timeStart)); 45 | list.add(record); 46 | } 47 | cursor.close(); 48 | db.close(); 49 | return list; 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/service/AlarmReceiver.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.service; 2 | 3 | import android.content.BroadcastReceiver; 4 | import android.content.Context; 5 | import android.content.Intent; 6 | 7 | import com.pkuhelper.lib.Constants; 8 | import com.pkuhelper.lib.Lib; 9 | 10 | public class AlarmReceiver extends BroadcastReceiver { 11 | 12 | @Override 13 | public void onReceive(Context context, Intent intent) { 14 | if (Constants.ACTION_ALARM.equals(intent.getAction())) { 15 | Lib.updateAndCheck(context); 16 | } 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/service/MyReceiver.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.service; 2 | 3 | import android.content.BroadcastReceiver; 4 | import android.content.Context; 5 | import android.content.Intent; 6 | 7 | import com.pkuhelper.lib.Lib; 8 | 9 | public class MyReceiver extends BroadcastReceiver { 10 | 11 | @Override 12 | public void onReceive(Context context, Intent intent) { 13 | Lib.updateAndCheck(context); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/service/PKUHelperService.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.service; 2 | 3 | import android.app.Service; 4 | import android.content.Intent; 5 | import android.os.Handler; 6 | import android.os.IBinder; 7 | import android.os.Message; 8 | import android.util.Log; 9 | 10 | import com.pkuhelper.lib.Constants; 11 | 12 | public class PKUHelperService extends Service { 13 | @Override 14 | public void onCreate() { 15 | super.onCreate(); 16 | } 17 | 18 | @Override 19 | public int onStartCommand(Intent intent, int flags, int startId) { 20 | super.onStartCommand(intent, flags, startId); 21 | 22 | if (android.os.Build.VERSION.SDK_INT < 16) { 23 | stopSelf(); 24 | return START_NOT_STICKY; 25 | } 26 | 27 | Handler handler = new Handler(getMainLooper(), new Handler.Callback() { 28 | @Override 29 | public boolean handleMessage(Message msg) { 30 | if (msg.what == Constants.MESSAGE_SERVICE_FINISHED) 31 | stopSelf(); 32 | return false; 33 | } 34 | }); 35 | try { 36 | new NotifyThread(this, handler).start(); 37 | } catch (Exception e) { 38 | } 39 | 40 | return START_STICKY; 41 | } 42 | 43 | @Override 44 | public IBinder onBind(Intent intent) { 45 | // TODO Auto-generated method stub 46 | return null; 47 | } 48 | 49 | @Override 50 | public void onDestroy() { 51 | Log.w("service", "destroy"); 52 | } 53 | 54 | } 55 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/subactivity/TelephoneList.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.subactivity; 2 | 3 | public class TelephoneList { 4 | public static final String phone = "数学科学学院 62751804 物理学院 62751732 " 5 | + "化学与分子工程学院 62751710 生命科学学院 62751840 城市与环境学院 62751172 " 6 | + "地球与空间科学学院 62751150 心理学系 62751831 建筑与景观设计学院 62759003 " 7 | + "信息科学技术学院 62751760 工学院 62751812 计算机科学技术研究所 82529922 " 8 | + "软件与微电子学院 61273588 环境科学与工程学院 62751480 中国语言文学系 62751601 " 9 | + "历史学系 62751652 考古文博学院 62767539 哲学系(宗教学系) 62757589 " 10 | + "外国语学院 62765007 艺术学院 62751905 对外汉语教育学院 62754120 歌剧研究院 58876072 " 11 | + "国际关系学院 62751634 经济学院 62751460 光华管理学院 62747033 法学院 62751691 " 12 | + "信息管理系 13693116736 社会学系 62751676 政府管理学院 62751641 " 13 | + "马克思主义学院 62751941 教育学院 62751911 新闻与传播学院 62754683 " 14 | + "人口研究所 62751974 国家发展研究院 62758993 体育教研部 62751900 " 15 | + "元培学院 62758326 先进技术研究院 62753925 前沿交叉学科研究院 62753237 " 16 | + "中国社会科学调查中心 62767908 分子医学研究所 62755557 核磁共振中心 62756187 " 17 | + "北京国际数学研究中心 13910650253 儒藏中心 62767810 深圳研究生院 0755-26035866 " 18 | + "党委办公室校长办公室 62751201 发展规划部 62751309 纪委办公室监察室 62755622 " 19 | + "党委组织部 62759120 统战部 62765688 党委宣传部 62751310 " 20 | + "学生工作部人民武装部 62753595 校园综合治理服务热线 62755110 " 21 | + "校外车辆入校预约电话 62751321 校园报警电话 62751331 校园火警电话 62752119 " 22 | + "保密委员会办公室 62754073 教务部(含教务长办公室) 62751430 科学研究部 62751448 " 23 | + "社会科学部 62751440 研究生院 62758068 继续教育部 62751451 人事部 62759360 " 24 | + "财务部 62757079 国有资产管理委员会办公室 62757079 国际合作部 62757453 " 25 | + "实验室与设备管理部 62751411 北京大学实验动物中心 62756977-0 总务部 62751501 " 26 | + "房地产管理部 62751531 基建工程部 62754131 审计室 62751261 科技开发部 62751371 " 27 | + "校办产业管理委员会办公室 62751236 211/985办公室 62755571 " 28 | + "昌平校区管理办公室 89748732 学生就业指导服务中心 62751275 青年研究中心 62763322 " 29 | + "学生资助中心 400-650-7191 心理健康教育与咨询中心 62760852 工会 62757550 " 30 | + "团委 62751282 图书馆 62757167 档案馆 62758188 校史馆 62765931 计算中心 62751023 " 31 | + "现代教育科技中心 1326104911 教育基金会 62759066 校医院 62754213 " 32 | + "首都发展研究院 82529539 会议中心 62752233 燕园社区服务中心 62752041 " 33 | + "燕园街道办事处 62751338 北大附中 58751023 北大附小 62760982 餐饮中心 62751541 " 34 | + "特殊用房管理中心 51605808 水电报修电话 62753319 供暖报修电话 62755433 " 35 | + "邱德拔体育馆 62750789 校园服务中心 62751561 继续教育学院 62750196 " 36 | + "公寓服务中心 62756163 校友工作办公室 62758419 招生办公室 62751407"; 37 | } 38 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/widget/WidgetActionService.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.widget; 2 | 3 | import android.app.Service; 4 | import android.content.Intent; 5 | import android.os.IBinder; 6 | 7 | import com.pkuhelper.lib.Constants; 8 | import com.pkuhelper.lib.Lib; 9 | import com.pkuhelper.lib.view.CustomToast; 10 | 11 | public class WidgetActionService extends Service { 12 | 13 | @Override 14 | public int onStartCommand(Intent intent, int flags, int startId) { 15 | super.onStartCommand(intent, flags, startId); 16 | run(intent); 17 | stopSelf(); 18 | return START_NOT_STICKY; 19 | } 20 | 21 | private void run(Intent intent) { 22 | if (intent == null) return; 23 | if (intent.getBooleanExtra("refresh", false)) { 24 | Lib.sendBroadcast(this, WidgetCourseProvider.class, Constants.ACTION_REFRESH_COURSE); 25 | return; 26 | } 27 | 28 | String name = intent.getStringExtra("name"); 29 | String location = intent.getStringExtra("location"); 30 | String type = intent.getStringExtra("type"); 31 | String hint = name; 32 | if (location != null && !"".equals(location)) 33 | hint += " (" + location + ")"; 34 | hint += " " + type; 35 | CustomToast.showInfoToast(this, hint, 750); 36 | 37 | } 38 | 39 | @Override 40 | public IBinder onBind(Intent intent) { 41 | // TODO Auto-generated method stub 42 | return null; 43 | } 44 | 45 | 46 | } 47 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/widget/WidgetCourse2Service.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.widget; 2 | 3 | import android.content.Intent; 4 | import android.widget.RemoteViewsService; 5 | 6 | public class WidgetCourse2Service extends RemoteViewsService { 7 | 8 | @Override 9 | public RemoteViewsFactory onGetViewFactory(Intent intent) { 10 | return new WidgetCourse2Factory(this.getApplicationContext(), intent); 11 | } 12 | 13 | } 14 | 15 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/widget/WidgetCourseService.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.widget; 2 | 3 | import android.content.Intent; 4 | import android.widget.RemoteViewsService; 5 | 6 | public class WidgetCourseService extends RemoteViewsService { 7 | 8 | @Override 9 | public RemoteViewsFactory onGetViewFactory(Intent intent) { 10 | return new WidgetCourseFactory(this.getApplicationContext(), intent); 11 | } 12 | 13 | } 14 | 15 | -------------------------------------------------------------------------------- /app/src/main/java/com/pkuhelper/widget/WidgetExamService.java: -------------------------------------------------------------------------------- 1 | package com.pkuhelper.widget; 2 | 3 | import android.content.Intent; 4 | import android.widget.RemoteViewsService; 5 | 6 | public class WidgetExamService extends RemoteViewsService { 7 | 8 | @Override 9 | public RemoteViewsFactory onGetViewFactory(Intent intent) { 10 | return new WidgetExamFactory(this.getApplicationContext(), intent); 11 | } 12 | 13 | } 14 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-hdpi/add.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/bbs_nxt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-hdpi/bbs_nxt.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/bbs_pre.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-hdpi/bbs_pre.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-hdpi/close.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-hdpi/download.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/item.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-hdpi/item.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-hdpi/open.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/qrcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-hdpi/qrcode.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/reload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-hdpi/reload.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/reply.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-hdpi/reply.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-hdpi/save.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/set.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-hdpi/set.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/share.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-hdpi/share.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/some.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-hdpi/some.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/star_hollow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-hdpi/star_hollow.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/star_solid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-hdpi/star_solid.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/actionbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/actionbar.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/add.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/arrow_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/arrow_down.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/arrow_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/arrow_left.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/arrow_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/arrow_right.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/audio_start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/audio_start.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/audio_stop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/audio_stop.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/bbs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/bbs.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/bbs_nxt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/bbs_nxt.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/bbs_pre.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/bbs_pre.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/bg.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/bg_bak.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/bg_bak.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/bjyc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/bjyc.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/button.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/chat_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/chat_bg.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/chat_send_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/chat_send_btn.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/chatfrom_focused.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/chatfrom_focused.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/chatfrom_normal.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/chatfrom_normal.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/chatfrom_pressed.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/chatfrom_pressed.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/chatto_focused.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/chatto_focused.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/chatto_normal.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/chatto_normal.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/chatto_pressed.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/chatto_pressed.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/cjcx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/cjcx.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/close.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/cyxx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/cyxx.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/delete.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/download.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/error.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/failure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/failure.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/hot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/hot.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_big.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/ic_big.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_big_backup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/ic_big_backup.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_launcher_backup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/ic_launcher_backup.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_share_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/ic_share_default.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_share_default_backup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/ic_share_default_backup.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_small_backup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/ic_small_backup.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/icon_course.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/icon_course.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/icon_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/icon_search.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/im1_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/im1_1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/im1_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/im1_11.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/im1_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/im1_2.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/im1_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/im1_3.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/im1_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/im1_4.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/im1_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/im1_5.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/im1_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/im1_7.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/im1_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/im1_8.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/im1_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/im1_9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/im1_90.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/im1_90.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/image.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/info.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/info_calendar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/info_calendar.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/info_card.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/info_card.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/info_map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/info_map.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/info_phone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/info_phone.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/info_subway.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/info_subway.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ipgw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/ipgw.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/item.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/item.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/its.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/its.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/jscx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/jscx.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/jzyg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/jzyg.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/list.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/listitem_location.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/listitem_location.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/listitem_seat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/listitem_seat.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/listitem_time.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/listitem_time.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/login_edit_normal.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/login_edit_normal.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/lostfound.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/lostfound.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/message.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/mypku.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/mypku.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/mypku_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/mypku_bg.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/next.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/open.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/p_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/p_white.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/pdsd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/pdsd.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/pkuhole.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/pkuhole.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/pkuhole_comment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/pkuhole_comment.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/pkuhole_eye.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/pkuhole_eye.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/pkumail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/pkumail.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/previous.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/previous.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/qrcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/qrcode.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/refresh.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/reload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/reload.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/reply.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/reply.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/returntop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/returntop.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/save.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/search.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/search_frame.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/search_frame.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/search_top_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/search_top_background.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/set.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/set.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/settings.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/shake.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/shake.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/share.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/share.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/some.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/some.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/star_hollow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/star_hollow.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/star_solid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/star_solid.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/success.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/tab_course.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/tab_course.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/tab_course_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/tab_course_selected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/tab_ipgw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/tab_ipgw.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/tab_ipgw_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/tab_ipgw_selected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/tab_mypku.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/tab_mypku.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/tab_mypku_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/tab_mypku_selected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/tab_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/tab_settings.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/tab_settings_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/tab_settings_selected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/tccj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/tccj.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/tydk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/tydk.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/tzzx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/tzzx.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/user.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/wdpz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/wdpz.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/widget_course.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/widget_course.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/widget_course2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/widget_course2.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/widget_exam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/widget_exam.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/widget_its.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/widget_its.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/wmbbs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/wmbbs.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/xmtlm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-mdpi/xmtlm.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/pkumap.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-xhdpi/pkumap.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/subwaymap.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ckcz123/PKUHelper-Android/d7812c20a1284d17743dd67b28ebd1bdd5805c8c/app/src/main/res/drawable-xhdpi/subwaymap.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable/button_full.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/button_full_checked.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/button_full_normal.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/chat_hint_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/chat_send_text_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/chatfrom_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/chatto_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/corners_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/dash_line.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 11 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/hole_audio_record.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/hole_audio_record_normal.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/hole_audio_record_pressed.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/hole_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/hole_bg2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/hole_button_left.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/hole_button_left_selected.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/hole_button_right.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/hole_button_right_selected.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/lf_btn_left.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/lf_btn_left_selected.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/lf_btn_middle.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/lf_btn_middle_selected.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/lf_btn_right.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/lf_btn_right_selected.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_round_rect_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_round_rect_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_round_rect_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_round_rect_recent.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_capture.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 11 | 12 | 16 | 17 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_view_ticket.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/layout/bbs_allboards_item.xml: -------------------------------------------------------------------------------- 1 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/layout/bbs_message_detail.xml: -------------------------------------------------------------------------------- 1 | 8 | 9 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/layout/bbs_message_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 18 | 19 | 24 | 25 | 34 | 35 | 39 | 40 | 49 | 50 | -------------------------------------------------------------------------------- /app/src/main/res/layout/bbs_message_listview.xml: -------------------------------------------------------------------------------- 1 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/layout/bbs_post_listview.xml: -------------------------------------------------------------------------------- 1 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/layout/bbs_reprint_view.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 14 | 15 | 23 | 24 | 31 | 32 | 40 | 41 | 42 | 43 | 54 | 55 | -------------------------------------------------------------------------------- /app/src/main/res/layout/bbs_thread_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 17 | 18 | 23 | 24 | 33 | 34 | 38 | 39 | 48 | 49 | -------------------------------------------------------------------------------- /app/src/main/res/layout/bbs_thread_listview.xml: -------------------------------------------------------------------------------- 1 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/layout/bbs_top_listview.xml: -------------------------------------------------------------------------------- 1 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/layout/chatlist_listview.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /app/src/main/res/layout/classroom_fragement.xml: -------------------------------------------------------------------------------- 1 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/layout/color_preview.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/layout/color_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/layout/color_widget.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/layout/course_view.xml: -------------------------------------------------------------------------------- 1 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/layout/customcourse_listitem.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 10 | 11 | 17 | 18 | 22 | 23 | 31 | 32 | 33 | 42 | 43 | -------------------------------------------------------------------------------- /app/src/main/res/layout/customcourse_listview.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/layout/customcourse_modify_item.xml: -------------------------------------------------------------------------------- 1 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/layout/exam_listitem.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 10 | 11 | 17 | 18 | 22 | 23 | 31 | 32 | 33 | 37 | 38 | 45 | 46 | 50 | 51 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /app/src/main/res/layout/exam_listview.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_ticket_back.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/layout/grade_detail_item.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 16 | 17 | 21 | 22 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /app/src/main/res/layout/grade_detail_view.xml: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/layout/grade_item_view.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 16 | 17 | 21 | 22 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /app/src/main/res/layout/grade_listview_layout.xml: -------------------------------------------------------------------------------- 1 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/layout/grade_text_view.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/layout/hole_comment_footerview.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/layout/hole_comment_listview.xml: -------------------------------------------------------------------------------- 1 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/layout/hole_edittext.xml: -------------------------------------------------------------------------------- 1 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/layout/hole_list_headerview.xml: -------------------------------------------------------------------------------- 1 | 11 | 12 | 22 | 23 | 33 | -------------------------------------------------------------------------------- /app/src/main/res/layout/hole_listview.xml: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 14 | 15 | 21 | 22 | 23 | 24 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /app/src/main/res/layout/hole_search_spinner.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /app/src/main/res/layout/ipgw_view.xml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 25 | 26 | 38 | 39 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /app/src/main/res/layout/lf_headerview.xml: -------------------------------------------------------------------------------- 1 | 11 | 12 | 22 | 23 | 33 | 34 | 44 | -------------------------------------------------------------------------------- /app/src/main/res/layout/lf_listview.xml: -------------------------------------------------------------------------------- 1 | 8 | 9 | 13 | 14 | 20 | 21 | 22 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /app/src/main/res/layout/lostfound_detail_buttonview.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 |