修正由于没有上锁导致的disklru清除错误

This commit is contained in:
seven332 committed 2014-03-23 10:13:59 +08:00
1 parent ea2418b981
commit 7254d9d7a7
28 files changed
+1149 -1122

No files matched your search

+3 -3
View File
@@ -2,7 +2,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.hippo.ehviewer"
android:versionCode="7"
android:versionName="0.3.2" >
android:versionName="0.3.0" >
<uses-sdk
android:minSdkVersion="14"
@@ -14,8 +14,8 @@
<application
android:name=".CrashApplication"
android:allowBackup="false"
android:largeHeap="true"
android:allowBackup="true"
android:largeHeap="false"
android:hardwareAccelerated="false"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
+3 -3
View File
@@ -2,7 +2,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.hippo.ehviewer"
android:versionCode="7"
android:versionName="0.3.2" >
android:versionName="0.3.0" >
<uses-sdk
android:minSdkVersion="14"
@@ -14,8 +14,8 @@
<application
android:name=".CrashApplication"
android:allowBackup="false"
android:largeHeap="true"
android:allowBackup="true"
android:largeHeap="false"
android:hardwareAccelerated="false"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
BIN
View File
Binary file not shown.
+126 -118
View File
@@ -260,17 +260,17 @@ int menu detail 0x7f0c0000
int menu main 0x7f0c0001
int raw change_log 0x7f050000
int raw thanks 0x7f050001
int string _default 0x7f0a008c
int string action_refresh 0x7f0a0050
int string action_settings 0x7f0a0051
int string actual_size 0x7f0a0094
int string add 0x7f0a0088
int string add_tag 0x7f0a0069
int string add_to_favourite 0x7f0a0098
int string advance_search_left 0x7f0a009d
int string _default 0x7f0a0093
int string action_refresh 0x7f0a0057
int string action_settings 0x7f0a0058
int string actual_size 0x7f0a009b
int string add 0x7f0a008f
int string add_tag 0x7f0a0070
int string add_to_favourite 0x7f0a009f
int string advance_search_left 0x7f0a00a5
int string app_name 0x7f0a0000
int string cache_large 0x7f0a0066
int string changelog 0x7f0a0082
int string cache_large 0x7f0a006d
int string changelog 0x7f0a0089
int string checkbox_advance 0x7f0a0012
int string checkbox_sdesc 0x7f0a0015
int string checkbox_sdt1 0x7f0a0018
@@ -281,7 +281,8 @@ int string checkbox_sr 0x7f0a001b
int string checkbox_stags 0x7f0a0014
int string checkbox_sto 0x7f0a0017
int string checkbox_storr 0x7f0a0016
int string create_cache_error 0x7f0a0068
int string checking_update 0x7f0a0029
int string create_cache_error 0x7f0a006f
int string dailog_check_login 0x7f0a0009
int string dailog_check_network 0x7f0a0005
int string dailog_network_error_no 0x7f0a0007
@@ -290,120 +291,126 @@ int string dailog_waring_no 0x7f0a0004
int string dailog_waring_plain 0x7f0a0002
int string dailog_waring_title 0x7f0a0001
int string dailog_waring_yes 0x7f0a0003
int string detail_average 0x7f0a002d
int string detail_button_cancel 0x7f0a0032
int string detail_button_every 0x7f0a0034
int string detail_button_known 0x7f0a0036
int string detail_button_once 0x7f0a0033
int string detail_button_read 0x7f0a0031
int string detail_language 0x7f0a002c
int string detail_not_rated 0x7f0a0038
int string detail_offensive 0x7f0a0030
int string detail_offensive_title 0x7f0a002f
int string detail_pages 0x7f0a002a
int string detail_people 0x7f0a002e
int string detail_pining 0x7f0a0035
int string detail_posted 0x7f0a0029
int string detail_preview_error 0x7f0a0037
int string detail_size 0x7f0a002b
int string detail_uploader 0x7f0a0028
int string detail_average 0x7f0a0031
int string detail_button_cancel 0x7f0a0036
int string detail_button_every 0x7f0a0038
int string detail_button_known 0x7f0a003a
int string detail_button_once 0x7f0a0037
int string detail_button_read 0x7f0a0035
int string detail_language 0x7f0a0030
int string detail_not_rated 0x7f0a003c
int string detail_offensive 0x7f0a0034
int string detail_offensive_title 0x7f0a0033
int string detail_pages 0x7f0a002e
int string detail_people 0x7f0a0032
int string detail_pining 0x7f0a0039
int string detail_posted 0x7f0a002d
int string detail_preview_error 0x7f0a003b
int string detail_size 0x7f0a002f
int string detail_uploader 0x7f0a002c
int string develop 0x7f0a00a4
int string dialog_messgae_login_or_not 0x7f0a000d
int string dialog_send_crash_no 0x7f0a0022
int string dialog_send_crash_plain 0x7f0a0020
int string dialog_send_crash_title 0x7f0a001f
int string dialog_send_crash_yes 0x7f0a0021
int string dialog_title_login_or_not 0x7f0a000c
int string download 0x7f0a008f
int string download_successfully 0x7f0a0078
int string download_task_finished 0x7f0a0076
int string download_unsuccessfully 0x7f0a0079
int string downloading 0x7f0a0077
int string em_can_not_reach 0x7f0a004e
int string em_check_login_error 0x7f0a0047
int string em_client_protocol 0x7f0a0044
int string em_logout_error 0x7f0a0048
int string em_network_error 0x7f0a003e
int string em_no_network 0x7f0a004d
int string em_no_network_2 0x7f0a004f
int string em_open_input_stream_error 0x7f0a0042
int string em_parser_error 0x7f0a0041
int string em_put_cache_error 0x7f0a0045
int string em_read_input_stream_error 0x7f0a0043
int string em_response_code_error 0x7f0a0040
int string em_retry 0x7f0a004a
int string em_retry_times 0x7f0a004b
int string em_timeout 0x7f0a003f
int string em_unknown_error 0x7f0a004c
int string em_url_error 0x7f0a0049
int string em_url_format_error 0x7f0a0046
int string error 0x7f0a0081
int string download 0x7f0a0096
int string download_successfully 0x7f0a007f
int string download_task_finished 0x7f0a007d
int string download_unsuccessfully 0x7f0a0080
int string downloading 0x7f0a007e
int string em_can_not_reach 0x7f0a0053
int string em_check_login_error 0x7f0a004c
int string em_client_protocol 0x7f0a0048
int string em_host_error 0x7f0a0056
int string em_login_error 0x7f0a004b
int string em_logout_error 0x7f0a004d
int string em_network_error 0x7f0a0042
int string em_no_network 0x7f0a0052
int string em_no_network_2 0x7f0a0054
int string em_open_input_stream_error 0x7f0a0046
int string em_parser_error 0x7f0a0045
int string em_put_cache_error 0x7f0a0049
int string em_read_input_stream_error 0x7f0a0047
int string em_request_error 0x7f0a0055
int string em_response_code_error 0x7f0a0044
int string em_retry 0x7f0a004f
int string em_retry_times 0x7f0a0050
int string em_timeout 0x7f0a0043
int string em_unknown_error 0x7f0a0051
int string em_url_error 0x7f0a004e
int string em_url_format_error 0x7f0a004a
int string error 0x7f0a0088
int string exit_tip 0x7f0a0008
int string favourite 0x7f0a008e
int string first_page 0x7f0a003a
int string fit_to_height 0x7f0a0096
int string fit_to_screen 0x7f0a0097
int string fit_to_width 0x7f0a0095
int string favourite 0x7f0a0095
int string first_page 0x7f0a003e
int string fit_to_height 0x7f0a009d
int string fit_to_screen 0x7f0a009e
int string fit_to_width 0x7f0a009c
int string found_update 0x7f0a002b
int string hint_no_keyword 0x7f0a0011
int string homepage 0x7f0a008d
int string input_error 0x7f0a0067
int string jump 0x7f0a008a
int string homepage 0x7f0a0094
int string input_error 0x7f0a006e
int string jump 0x7f0a0091
int string jump_sum 0x7f0a001c
int string jump_to 0x7f0a001d
int string landscape 0x7f0a0055
int string last_page 0x7f0a007c
int string landscape 0x7f0a005c
int string last_page 0x7f0a0083
int string list_title 0x7f0a0026
int string load_pre 0x7f0a0039
int string login 0x7f0a0083
int string logout 0x7f0a0084
int string new_tag_name 0x7f0a006e
int string load_pre 0x7f0a003d
int string login 0x7f0a008a
int string logout 0x7f0a008b
int string new_tag_name 0x7f0a0075
int string no_found 0x7f0a0025
int string not_login 0x7f0a000e
int string not_started 0x7f0a007a
int string password 0x7f0a0087
int string period 0x7f0a007f
int string portrait 0x7f0a0054
int string preference_author 0x7f0a0064
int string preference_author_summary 0x7f0a0065
int string preference_auto_page_cache 0x7f0a005f
int string preference_auto_page_cache_summary_off 0x7f0a0061
int string preference_auto_page_cache_summary_on 0x7f0a0060
int string preference_cache_summary 0x7f0a005d
int string preference_cache_summary_no 0x7f0a005e
int string preference_category_about 0x7f0a0063
int string preference_category_cache 0x7f0a0058
int string preference_category_display 0x7f0a0052
int string preference_clear_cp_cache 0x7f0a005a
int string preference_clear_page_cache 0x7f0a005c
int string preference_cp_cache 0x7f0a0059
int string preference_download_path 0x7f0a0062
int string preference_page_cache 0x7f0a005b
int string preference_page_scaling 0x7f0a0056
int string preference_screen_ori 0x7f0a0053
int string preference_settings_title 0x7f0a0057
int string pull_next_pull 0x7f0a0073
int string pull_next_release 0x7f0a0074
int string pull_pre_pull 0x7f0a0071
int string pull_pre_release 0x7f0a0072
int string pull_refresh_pull 0x7f0a006f
int string pull_refresh_release 0x7f0a0070
int string refresh 0x7f0a0080
int string remove 0x7f0a0099
int string remove_info_data 0x7f0a009a
int string retry_max_next 0x7f0a003d
int string retry_max_pre 0x7f0a003c
int string sadpanda 0x7f0a007d
int string some_page 0x7f0a008b
int string star_2 0x7f0a0090
int string star_3 0x7f0a0091
int string star_4 0x7f0a0092
int string star_5 0x7f0a0093
int string start_download_task 0x7f0a0075
int string start_reloading 0x7f0a003b
int string tag_change_name 0x7f0a006d
int string tag_name 0x7f0a006a
int string tag_name_empty 0x7f0a006b
int string tag_name_exist 0x7f0a006c
int string thanks 0x7f0a009c
int string not_started 0x7f0a0081
int string password 0x7f0a008e
int string period 0x7f0a0086
int string portrait 0x7f0a005b
int string preference_author 0x7f0a006b
int string preference_author_summary 0x7f0a006c
int string preference_auto_page_cache 0x7f0a0066
int string preference_auto_page_cache_summary_off 0x7f0a0068
int string preference_auto_page_cache_summary_on 0x7f0a0067
int string preference_cache_summary 0x7f0a0064
int string preference_cache_summary_no 0x7f0a0065
int string preference_category_about 0x7f0a006a
int string preference_category_cache 0x7f0a005f
int string preference_category_display 0x7f0a0059
int string preference_clear_cp_cache 0x7f0a0061
int string preference_clear_page_cache 0x7f0a0063
int string preference_cp_cache 0x7f0a0060
int string preference_download_path 0x7f0a0069
int string preference_page_cache 0x7f0a0062
int string preference_page_scaling 0x7f0a005d
int string preference_screen_ori 0x7f0a005a
int string preference_settings_title 0x7f0a005e
int string pull_next_pull 0x7f0a007a
int string pull_next_release 0x7f0a007b
int string pull_pre_pull 0x7f0a0078
int string pull_pre_release 0x7f0a0079
int string pull_refresh_pull 0x7f0a0076
int string pull_refresh_release 0x7f0a0077
int string refresh 0x7f0a0087
int string remove 0x7f0a00a0
int string remove_info_data 0x7f0a00a1
int string retry_max_next 0x7f0a0041
int string retry_max_pre 0x7f0a0040
int string sadpanda 0x7f0a0084
int string some_page 0x7f0a0092
int string star_2 0x7f0a0097
int string star_3 0x7f0a0098
int string star_4 0x7f0a0099
int string star_5 0x7f0a009a
int string start_download_task 0x7f0a007c
int string start_reloading 0x7f0a003f
int string tag_change_name 0x7f0a0074
int string tag_name 0x7f0a0071
int string tag_name_empty 0x7f0a0072
int string tag_name_exist 0x7f0a0073
int string tap_update 0x7f0a0028
int string thanks 0x7f0a00a3
int string toast_add_download 0x7f0a0024
int string toast_add_favourite 0x7f0a0023
int string toast_invalid_page 0x7f0a001e
@@ -411,13 +418,14 @@ int string toast_login_failed 0x7f0a000b
int string toast_login_succeeded 0x7f0a000a
int string toast_logout_failed 0x7f0a0010
int string toast_logout_succeeded 0x7f0a000f
int string unfinished 0x7f0a007e
int string update 0x7f0a009b
int string unfinished 0x7f0a0085
int string up_to_date 0x7f0a002a
int string update 0x7f0a00a2
int string update_message 0x7f0a0027
int string username 0x7f0a0086
int string wait 0x7f0a0085
int string waiting 0x7f0a007b
int string what_to_do 0x7f0a0089
int string username 0x7f0a008d
int string wait 0x7f0a008c
int string waiting 0x7f0a0082
int string what_to_do 0x7f0a0090
int style ActionBar 0x7f0b0000
int style AppTheme 0x7f0b0009
int style AppTheme_NoActionBar 0x7f0b000a
BIN
View File
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 6.0 KiB

BIN
View File
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

+4 -4
View File
@@ -10,8 +10,8 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginLeft="4dp"
android:layout_marginRight="4dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginBottom="4dp"
android:hint="@string/username" />
@@ -21,8 +21,8 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:layout_marginLeft="4dp"
android:layout_marginRight="4dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginBottom="16dp"
android:fontFamily="sans-serif"
android:hint="@string/password"/>
+1 -1
View File
@@ -15,7 +15,7 @@
android:text="@string/login" />
<ProgressBar
style="?android:attr/progressBarStyleLarge"
style="@android:style/Widget.Holo.ProgressBar.Large"
android:id="@+id/list_wait_login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+1 -1
View File
@@ -25,7 +25,7 @@
android:onClick="buttonLogout" />
<ProgressBar
style="?android:attr/progressBarStyleLarge"
style="@android:style/Widget.Holo.ProgressBar.Large"
android:id="@+id/list_wait_logout"
android:visibility="gone"
android:layout_width="wrap_content"
+4
View File
@@ -4,6 +4,10 @@ Version 0.3.2 (2014-??-??)
* 优化下拉控件
* 优化侧边栏
* 列表标题显示内容
* 后台检查登陆状态
* 设置中添加移除所有应用通知项
* 修正清除缓存错误
* 修正其他问题
Version 0.3.1 (2014-03-14)
* 修正有时点击通知栏无法进入下载界面
+8 -1
View File
@@ -60,6 +60,10 @@
<!-- Update -->
<string name="update_message" formatted="false">发现新版本:%s\n大小:%s\n%s\n\n是否更新?</string>
<string name="tap_update">点击检查更新</string>
<string name="checking_update">正在检查更新</string>
<string name="up_to_date">已是最新版</string>
<string name="found_update">发现新版本</string>
<!-- MangaDetialActivity -->
<string name="detail_uploader">上传者:%s</string>
@@ -97,6 +101,7 @@
<string name="em_client_protocol">无效的请求或无效的响应</string>
<string name="em_put_cache_error">存入缓存错误</string>
<string name="em_url_format_error">网址错误</string>
<string name="em_login_error">用户名或密码错误</string>
<string name="em_check_login_error">获取用户信息错误</string>
<string name="em_logout_error">退出错误</string>
<string name="em_url_error">网址错误</string>
@@ -106,6 +111,8 @@
<string name="em_no_network">无网络连接</string>
<string name="em_can_not_reach">你所在的网络无法连接到 e-hentai</string>
<string name="em_no_network_2">无网络连接?</string>
<string name="em_request_error">请求错误</string>
<string name="em_host_error">主机错误</string>
<!-- Action -->
<string name="action_refresh">刷新</string>
@@ -203,6 +210,6 @@
<string name="update">更新</string>
<string name="thanks">感谢</string>
<string name="develop">开发</string>
<string name="advance_search_left">高级搜索请左划</string>
</resources>
+8 -1
View File
@@ -62,6 +62,10 @@
<!-- Update -->
<string name="update_message" formatted="false">Found new version : %s\nSize : %s\n%s\n\nUpdate ?</string>
<string name="tap_update">Tap to check update</string>
<string name="checking_update">checking updating</string>
<string name="up_to_date">Up to date</string>
<string name="found_update">Found update</string>
<!-- MangaDetialActivity -->
<string name="detail_uploader">Uploader: %s</string>
@@ -101,6 +105,7 @@
<string name="em_client_protocol">Invalid request or invalid response</string>
<string name="em_put_cache_error">Put cache error</string>
<string name="em_url_format_error">Url format error</string>
<string name="em_login_error">Username or password error</string>
<string name="em_check_login_error">Get user info error</string>
<string name="em_logout_error">Logout error</string>
<string name="em_url_error">Url error</string>
@@ -110,6 +115,8 @@
<string name="em_no_network">No network</string>
<string name="em_can_not_reach">Your network can not reach e-hentai</string>
<string name="em_no_network_2">No network ?</string>
<string name="em_request_error">Request error</string>
<string name="em_host_error">Host error</string>
<!-- Action -->
<string name="action_refresh">Refresh</string>
@@ -210,6 +217,6 @@
<string name="update">Update</string>
<string name="thanks">Thanks</string>
<string name="develop">Develop</string>
<string name="advance_search_left">Advance search in left</string>
</resources>
+12 -2
View File
@@ -19,7 +19,6 @@
android:title="@string/preference_page_scaling" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/preference_category_cache" >
<EditTextPreference
android:defaultValue="25"
@@ -73,6 +72,17 @@
android:key="preference_thanks"
android:title="@string/thanks" />
<Preference
android:key="preference_update"
android:title="@string/update"
android:summary="@string/tap_update" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/develop" >
<Preference
android:key="preference_remove_all_noification"
android:title="点击移除所有通知" />
</PreferenceCategory>
</PreferenceScreen>
@@ -1,5 +1,6 @@
package com.hippo.ehviewer.activity;
import java.io.File;
import java.net.MalformedURLException;
import java.util.ArrayList;
@@ -7,6 +8,7 @@ import com.hippo.ehviewer.BeautifyScreen;
import com.hippo.ehviewer.ListMangaDetail;
import com.hippo.ehviewer.ListUrls;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.UpdateHelper;
import com.hippo.ehviewer.dialog.DialogBuilder;
import com.hippo.ehviewer.dialog.SuperDialogUtil;
import com.hippo.ehviewer.network.Downloader;
@@ -29,6 +31,7 @@ import com.hippo.ehviewer.widget.PullListView;
import com.hippo.ehviewer.widget.PullListView.OnFooterRefreshListener;
import com.hippo.ehviewer.widget.PullListView.OnHeaderRefreshListener;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.app.Activity;
@@ -109,7 +112,6 @@ public class MangaListActivity extends Activity {
private boolean mListFirst = true;
private boolean mLoadListOver = false;
private AlertDialog checkLoginDialog;
private AlertDialog loginDialog;
private AlertDialog filterDialog;
private AlertDialog longClickDialog;
@@ -132,6 +134,7 @@ public class MangaListActivity extends Activity {
private int visiblePage = 0;
private String title;
private String updateFileName;
private class RefreshPackage {
public ListUrls listUrls;
@@ -145,17 +148,6 @@ public class MangaListActivity extends Activity {
private DownloadServiceConnection mServiceConn = new DownloadServiceConnection();
private AlertDialog createCheckLoginDialog() {
LayoutInflater inflater = this.getLayoutInflater();
View view = inflater.inflate(R.layout.wait, null);
TextView tv = (TextView)view.findViewById(R.id.wait_message);
tv.setText(R.string.dailog_check_login);
return new DialogBuilder(this).setCancelable(false)
.setTitle(R.string.wait)
.setView(view, true).create();
}
private AlertDialog createLoginDialog() {
LayoutInflater inflater = this.getLayoutInflater();
View view = inflater.inflate(R.layout.login, null);
@@ -174,7 +166,7 @@ public class MangaListActivity extends Activity {
EhClient.login(username, password, new EhClient.OnLoginListener() {
@Override
public void onSuccess() {
checkLogin();
checkLogin(true);
}
@Override
public void onFailure(int errorMessageId) {
@@ -183,6 +175,7 @@ public class MangaListActivity extends Activity {
Toast.makeText(MangaListActivity.this,
getString(errorMessageId),
Toast.LENGTH_SHORT).show();
loginDialog.show();
}
});
}
@@ -1034,7 +1027,6 @@ public class MangaListActivity extends Activity {
visiblePage = lus.getPage();
// Init dialog
checkLoginDialog = createCheckLoginDialog();
loginDialog = createLoginDialog();
filterDialog = createFilterDialog();
longClickDialog = createLongClickDialog();
@@ -1291,7 +1283,7 @@ public class MangaListActivity extends Activity {
checkUpdate();
// Check login
checkLogin();
checkLogin(false);
// get MangeList
title = listMenuTitle.get(0);
@@ -1400,102 +1392,22 @@ public class MangaListActivity extends Activity {
}
}
private class UpdateListener implements Downloader.OnDownloadListener {
private NotificationManager mNotifyManager;
private NotificationCompat.Builder mBuilder;
public UpdateListener() {
mNotifyManager = (NotificationManager)
getSystemService(Context.NOTIFICATION_SERVICE);
mBuilder = new NotificationCompat.Builder(MangaListActivity.this.getApplication());
mBuilder.setSmallIcon(R.drawable.ic_launcher);
}
@Override
public void onDownloadStart(int totalSize) {
mBuilder.setContentTitle("正在下载更新")
.setContentText(null)
.setProgress(0, 0, true).setOngoing(true).setAutoCancel(false);
mNotifyManager.notify(233, mBuilder.build());
}
@Override
public void onDownloadStatusUpdate(
int downloadSize, int totalSize) {
mBuilder.setContentTitle("正在下载更新")
.setContentText(String.format("%.2f / %.2f KB", downloadSize/1024.0f, totalSize/1024.0f))
.setProgress(totalSize, downloadSize, false).setOngoing(true).setAutoCancel(false);
mNotifyManager.notify(233, mBuilder.build());
}
@Override
public void onDownloadOver(boolean ok, int eMesgId) {
mBuilder.setContentTitle("更新下载完成")
.setContentText("点击更新")
.setProgress(0, 0, false).setOngoing(false).setAutoCancel(true);
mNotifyManager.notify(233, mBuilder.build());
}
}
private void checkUpdate() {
EhClient.checkUpdate(new EhClient.OnCheckUpdateListener() {
@Override
public void onSuccess(String pageContext) {
String[] items = pageContext.split("\n");
if (items.length > 3) {
String newVer = items[0];
final String url = EhClient.UPDATE_URL + items[1];
final String name = url.substring(url.lastIndexOf('/')+1);
String size = items[2];
String info = items[3];
AlertDialog dialog = new DialogBuilder(MangaListActivity.this).setTitle(R.string.update)
.setMessage(String.format(getString(R.string.update_message), newVer, size, info))
.setNegativeButton(android.R.string.cancel, new View.OnClickListener() {
@Override
public void onClick(View v) {
((AlertButton)v).dialog.dismiss();
}
}).setPositiveButton(android.R.string.ok, new View.OnClickListener() {
@Override
public void onClick(View v) {
((AlertButton)v).dialog.dismiss();
Downloader d = new Downloader();
try {
Downloader.Controlor controlor = d.resetData(Config.getDownloadPath(), name, url);
d.setOnDownloadListener(new UpdateListener());
new Thread(d).start();
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
}).create();
if (!MangaListActivity.this.isFinishing())
dialog.show();
}
}
@Override
public void onFailure(int errorMessageId) {
Log.d(TAG, getString(errorMessageId));
}
});
new UpdateHelper(this).checkUpdate();
}
private void checkLogin() {
if (EhClient.hasLogin())
private void checkLogin(boolean force) {
if (Config.isLogin() || force) {
loginButton.setVisibility(View.GONE);
waitloginView.setVisibility(View.VISIBLE);
EhClient.checkLogin(new EhClient.OnCheckLoginListener() {
@Override
public void onSuccess() {
loginButton.setVisibility(View.VISIBLE);
waitloginView.setVisibility(View.GONE);
Config.loginNow();
Toast.makeText(MangaListActivity.this,
getString(R.string.toast_login_succeeded),
Toast.LENGTH_SHORT).show();
layoutDrawRight();
layoutDrawRight();
}
@Override
@@ -1507,16 +1419,23 @@ public class MangaListActivity extends Activity {
Toast.LENGTH_SHORT).show();
}
});
}
}
private void layoutDrawRight() {
if (EhClient.isLogin()) { // If have login
loginView.setVisibility(View.GONE);
loginOverView.setVisibility(View.VISIBLE);
usernameText.setText(EhClient.getUsername());
logoutButton.setVisibility(View.VISIBLE);
waitlogoutView.setVisibility(View.GONE);
} else {
loginView.setVisibility(View.VISIBLE);
loginOverView.setVisibility(View.GONE);
loginButton.setVisibility(View.VISIBLE);
waitloginView.setVisibility(View.GONE);
}
}
@@ -1549,34 +1468,6 @@ public class MangaListActivity extends Activity {
}
return re;
}
// CheckLogin
/*
private void checkLogin() {
checkLoginDialog.show();
EhClient.checkLogin(new EhClient.OnCheckLoginListener() {
@Override
public void onSuccess() {
checkLoginDialog.dismiss();
Toast.makeText(MangaListActivity.this,
getString(R.string.toast_login_succeeded),
Toast.LENGTH_SHORT).show();
layoutDrawRight();
}
@Override
public void onFailure(int errorMessageId) {
checkLoginDialog.dismiss();
Toast.makeText(MangaListActivity.this,
getString(errorMessageId),
Toast.LENGTH_SHORT).show();
loginDialog.show();
}
});
}*/
// *** Button onclick ***//
public void buttonRefresh(View arg0) {
refresh(lus.clone(), listMenuTitle.get(0));
@@ -1591,8 +1482,6 @@ public class MangaListActivity extends Activity {
Toast.makeText(MangaListActivity.this,
getString(R.string.toast_logout_succeeded),
Toast.LENGTH_SHORT).show();
logoutButton.setVisibility(View.VISIBLE);
waitlogoutView.setVisibility(View.GONE);
Config.logoutNow();
layoutDrawRight();
}
@@ -1612,5 +1501,11 @@ public class MangaListActivity extends Activity {
loginDialog.show();
}
// *** Button onclick end ***//
class ImageLoadTask {
}
}
@@ -8,6 +8,7 @@ import java.io.UnsupportedEncodingException;
import com.hippo.ehviewer.BeautifyScreen;
import com.hippo.ehviewer.DiskCache;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.UpdateHelper;
import com.hippo.ehviewer.util.Cache;
import com.hippo.ehviewer.util.Config;
import com.hippo.ehviewer.util.Util;
@@ -16,6 +17,7 @@ import com.hippo.ehviewer.dialog.DialogBuilder;
import com.hippo.ehviewer.preference.AutoListPreference;
import android.annotation.SuppressLint;
import android.app.NotificationManager;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ActivityInfo;
@@ -55,6 +57,8 @@ public class SettingsActivity extends PreferenceActivity {
private String SCREEN_ORI = "preference_screen_ori";
private String CHANGELOG = "preference_changelog";
private String THANKS = "preference_thanks";
private String UPDATE = "preference_update";
private String RAN = "preference_remove_all_noification";
private EditTextPreference cpCachePre;
private Preference clearCpCachePre;
@@ -283,6 +287,45 @@ public class SettingsActivity extends PreferenceActivity {
return true;
}
});
final Preference update = (Preference)screen.findPreference(UPDATE);
update.setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
update.setSummary(R.string.checking_update);
new UpdateHelper(SettingsActivity.this)
.SetOnCheckUpdateListener(new UpdateHelper.OnCheckUpdateListener() {
@Override
public void onSuccess(String pageContext) {
update.setSummary(R.string.found_update);
update.setEnabled(true);
}
@Override
public void onNoUpdate() {
update.setSummary(R.string.up_to_date);
update.setEnabled(true);
}
@Override
public void onFailure(int eMesgId) {
update.setSummary(eMesgId);
update.setEnabled(true);
}
}).checkUpdate();
update.setEnabled(false);
return true;
}
});
Preference ran = (Preference)screen.findPreference(RAN);
ran.setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference arg0) {
NotificationManager mNotifyManager = (NotificationManager)
getSystemService(Context.NOTIFICATION_SERVICE);
mNotifyManager.cancelAll();
return true;
}
});
}
private void updateCpCacheSummary() {
+2 -21
View File
@@ -103,9 +103,6 @@ public class Config {
* It is first time to launch the application
*/
public static void firstTime() {
if (!mInit) {
throw new IllegalStateException(EMSG);
}
mConfigPre.edit().putBoolean(KEY_FIRST, false).apply();
}
@@ -115,28 +112,15 @@ public class Config {
* @return
*/
public static boolean isLogin() {
if (!mInit) {
throw new IllegalStateException(EMSG);
}
return mConfigPre.getBoolean(KEY_LOGIN, false);
}
public static void loginNow() {
if (!mInit) {
throw new IllegalStateException(EMSG);
}
Editor editor = mConfigPre.edit();
editor.putBoolean(KEY_LOGIN, true);
editor.commit();
mConfigPre.edit().putBoolean(KEY_LOGIN, true).apply();
}
public static void logoutNow() {
if (!mInit) {
throw new IllegalStateException(EMSG);
}
Editor editor = mConfigPre.edit();
editor.putBoolean(KEY_LOGIN, false);
editor.commit();
mConfigPre.edit().putBoolean(KEY_LOGIN, false).apply();
}
public static String getDownloadPath() {
@@ -149,9 +133,6 @@ public class Config {
* @return
*/
public static int getCoverDiskCacheSize() {
if (!mInit) {
throw new IllegalStateException(EMSG);
}
try {
return Integer.parseInt(mConfigPre.getString(CP_CACHE, CP_CACHE_DEFAULT));
} catch (Exception e) {
+1 -1
View File
@@ -594,7 +594,7 @@ public class EhClient {
if (pageContent.contains("<p>You are now logged in as: ")) {
mOK = 1;
} else if (errorMessageId == R.string.em_unknown_error)
errorMessageId = R.string.em_check_login_error;
errorMessageId = R.string.em_login_error;
}
Message msg = new Message();
msg.what = errorMessageId;
+2 -1
View File
@@ -58,6 +58,7 @@ public class Ui {
opt.inPurgeable = true;
opt.inInputShareable = true;
/*
BITMAP_DOUJINSHI = BitmapFactory.decodeStream(mContext.getResources().openRawResource(R.drawable.doujinshi), null, opt);
BITMAP_MANGAI = BitmapFactory.decodeStream(mContext.getResources().openRawResource(R.drawable.manga), null, opt);
BITMAP_ARTIST_CG = BitmapFactory.decodeStream(mContext.getResources().openRawResource(R.drawable.artistcg), null, opt);
@@ -73,7 +74,7 @@ public class Ui {
BITMAP_START = BitmapFactory.decodeStream(mContext.getResources().openRawResource(R.drawable.star), null, opt);
BITMAP_START_HALF = BitmapFactory.decodeStream(mContext.getResources().openRawResource(R.drawable.star_half), null, opt);
BITMAP_START_EMPTY = BitmapFactory.decodeStream(mContext.getResources().openRawResource(R.drawable.star_empty), null, opt);
*/
OlImageView.setDefaultImage(BitmapFactory.decodeStream(mContext.getResources().openRawResource(R.drawable.ic_launcher))
, BitmapFactory.decodeStream(mContext.getResources().openRawResource(R.drawable.ic_touch), null, opt));
}
File diff suppressed because it is too large. Load diff