From 44fb4b9ce1338a7e70c48df6238348a51d876a31 Mon Sep 17 00:00:00 2001 From: Philipp Crocoll Date: Thu, 8 Jan 2015 06:31:09 +0100 Subject: [PATCH] improved notification icons re-added donate hint in change log --- src/keepass2android/ChangeLog.cs | 52 +-- .../Resources/Resource.designer.cs | 327 +++++++++--------- .../Resources/drawable/ic_notify_loaded.png | Bin 0 -> 3651 bytes .../Resources/drawable/ic_notify_locked.png | Bin 0 -> 3637 bytes .../Resources/drawable/ic_notify_offline.png | Bin 0 -> 8984 bytes src/keepass2android/app/App.cs | 6 +- src/keepass2android/keepass2android.csproj | 9 + .../services/OngoingNotificationsService.cs | 11 +- 8 files changed, 210 insertions(+), 195 deletions(-) create mode 100644 src/keepass2android/Resources/drawable/ic_notify_loaded.png create mode 100644 src/keepass2android/Resources/drawable/ic_notify_locked.png create mode 100644 src/keepass2android/Resources/drawable/ic_notify_offline.png diff --git a/src/keepass2android/ChangeLog.cs b/src/keepass2android/ChangeLog.cs index c231735a..98d224b5 100644 --- a/src/keepass2android/ChangeLog.cs +++ b/src/keepass2android/ChangeLog.cs @@ -67,7 +67,7 @@ namespace keepass2android WebView wv = new WebView(ctx); wv.SetBackgroundColor(Color.White); - wv.LoadDataWithBaseURL(null, GetLog(changeLog, warning), "text/html", "UTF-8", null); + wv.LoadDataWithBaseURL(null, GetLog(changeLog, warning, ctx), "text/html", "UTF-8", null); //builder.SetMessage(""); @@ -109,7 +109,7 @@ namespace keepass2android "; private const string HtmlEnd = @" "; - private static string GetLog(List changeLog, string warning) + private static string GetLog(List changeLog, string warning, Context ctx) { StringBuilder sb = new StringBuilder(HtmlStart); if (!string.IsNullOrEmpty(warning)) @@ -117,10 +117,26 @@ namespace keepass2android sb.Append(warning); } bool inList = false; + bool isFirst = true; foreach (string versionLog in changeLog) { + string versionLog2 = versionLog; bool title = true; - foreach (string line in versionLog.Split('\n')) + if (isFirst) + { + if (versionLog2.EndsWith("\n") == false) + versionLog2 += "\n"; + string donateUrl = ctx.GetString(Resource.String.donate_url, + new Java.Lang.Object[]{ctx.Resources.Configuration.Locale.Language, + ctx.PackageName + }); + versionLog2 += " * " + + ctx.GetString(Resource.String.ChangeLog_keptDonate) + + ""; + isFirst = false; + } + foreach (string line in versionLog2.Split('\n')) { string w = line.Trim(); if (title) @@ -166,35 +182,5 @@ namespace keepass2android sb.Append(HtmlEnd); return sb.ToString(); } - - - static string ConcatChangeLog(Context ctx, string[] changeLog) - { - string res = ""; - bool isFirst = true; - foreach (string c in changeLog) - { - res += c; - if (isFirst) - { - if (res.EndsWith("\n") == false) - res += "\n"; - string donateUrl = ctx.GetString(Resource.String.donate_url, - new Java.Lang.Object[]{ctx.Resources.Configuration.Locale.Language, - ctx.PackageName - }); - res += " * " + - ctx.GetString(Resource.String.ChangeLog_keptDonate) - + ""; - isFirst = false; - } - - while (res.EndsWith("\n\n") == false) - res += "\n"; - } - return res.Replace("\n", "
"); - - } } } \ No newline at end of file diff --git a/src/keepass2android/Resources/Resource.designer.cs b/src/keepass2android/Resources/Resource.designer.cs index 1cd48225..b59278e5 100644 --- a/src/keepass2android/Resources/Resource.designer.cs +++ b/src/keepass2android/Resources/Resource.designer.cs @@ -2708,481 +2708,490 @@ namespace keepass2android public const int ic_notify_keyboard = 2130837823; // aapt resource value: 0x7f020140 - public const int ic_plusone_medium_off_client = 2130837824; + public const int ic_notify_loaded = 2130837824; // aapt resource value: 0x7f020141 - public const int ic_plusone_small_off_client = 2130837825; + public const int ic_notify_locked = 2130837825; // aapt resource value: 0x7f020142 - public const int ic_plusone_standard_off_client = 2130837826; + public const int ic_notify_offline = 2130837826; // aapt resource value: 0x7f020143 - public const int ic_plusone_tall_off_client = 2130837827; + public const int ic_plusone_medium_off_client = 2130837827; // aapt resource value: 0x7f020144 - public const int ic_storage_androidget = 2130837828; + public const int ic_plusone_small_off_client = 2130837828; // aapt resource value: 0x7f020145 - public const int ic_storage_androidsend = 2130837829; + public const int ic_plusone_standard_off_client = 2130837829; // aapt resource value: 0x7f020146 - public const int ic_storage_dropbox = 2130837830; + public const int ic_plusone_tall_off_client = 2130837830; // aapt resource value: 0x7f020147 - public const int ic_storage_dropboxKP2A = 2130837831; + public const int ic_storage_androidget = 2130837831; // aapt resource value: 0x7f020148 - public const int ic_storage_file = 2130837832; + public const int ic_storage_androidsend = 2130837832; // aapt resource value: 0x7f020149 - public const int ic_storage_ftp = 2130837833; + public const int ic_storage_dropbox = 2130837833; // aapt resource value: 0x7f02014a - public const int ic_storage_gdrive = 2130837834; + public const int ic_storage_dropboxKP2A = 2130837834; // aapt resource value: 0x7f02014b - public const int ic_storage_http = 2130837835; + public const int ic_storage_file = 2130837835; // aapt resource value: 0x7f02014c - public const int ic_storage_https = 2130837836; + public const int ic_storage_ftp = 2130837836; // aapt resource value: 0x7f02014d - public const int ic_storage_sftp = 2130837837; + public const int ic_storage_gdrive = 2130837837; // aapt resource value: 0x7f02014e - public const int ic_storage_skydrive = 2130837838; + public const int ic_storage_http = 2130837838; // aapt resource value: 0x7f02014f - public const int ic_subtype_keyboard = 2130837839; + public const int ic_storage_https = 2130837839; // aapt resource value: 0x7f020150 - public const int ic_subtype_mic = 2130837840; + public const int ic_storage_sftp = 2130837840; // aapt resource value: 0x7f020151 - public const int ic_suggest_scroll_background = 2130837841; + public const int ic_storage_skydrive = 2130837841; // aapt resource value: 0x7f020152 - public const int ic_suggest_strip_microphone = 2130837842; + public const int ic_subtype_keyboard = 2130837842; // aapt resource value: 0x7f020153 - public const int ic_suggest_strip_microphone_swipe = 2130837843; + public const int ic_subtype_mic = 2130837843; // aapt resource value: 0x7f020154 - public const int ic_unlocked_gray = 2130837844; + public const int ic_suggest_scroll_background = 2130837844; // aapt resource value: 0x7f020155 - public const int keyboard_background = 2130837845; + public const int ic_suggest_strip_microphone = 2130837845; // aapt resource value: 0x7f020156 - public const int keyboard_dark_background = 2130837846; + public const int ic_suggest_strip_microphone_swipe = 2130837846; // aapt resource value: 0x7f020157 - public const int keyboard_hint_0 = 2130837847; + public const int ic_unlocked_gray = 2130837847; // aapt resource value: 0x7f020158 - public const int keyboard_hint_1 = 2130837848; + public const int keyboard_background = 2130837848; // aapt resource value: 0x7f020159 - public const int keyboard_hint_2 = 2130837849; + public const int keyboard_dark_background = 2130837849; // aapt resource value: 0x7f02015a - public const int keyboard_hint_3 = 2130837850; + public const int keyboard_hint_0 = 2130837850; // aapt resource value: 0x7f02015b - public const int keyboard_hint_4 = 2130837851; + public const int keyboard_hint_1 = 2130837851; // aapt resource value: 0x7f02015c - public const int keyboard_hint_5 = 2130837852; + public const int keyboard_hint_2 = 2130837852; // aapt resource value: 0x7f02015d - public const int keyboard_hint_6 = 2130837853; + public const int keyboard_hint_3 = 2130837853; // aapt resource value: 0x7f02015e - public const int keyboard_hint_7 = 2130837854; + public const int keyboard_hint_4 = 2130837854; // aapt resource value: 0x7f02015f - public const int keyboard_hint_8 = 2130837855; + public const int keyboard_hint_5 = 2130837855; // aapt resource value: 0x7f020160 - public const int keyboard_hint_9 = 2130837856; + public const int keyboard_hint_6 = 2130837856; // aapt resource value: 0x7f020161 - public const int keyboard_key_feedback = 2130837857; + public const int keyboard_hint_7 = 2130837857; // aapt resource value: 0x7f020162 - public const int keyboard_key_feedback_background = 2130837858; + public const int keyboard_hint_8 = 2130837858; // aapt resource value: 0x7f020163 - public const int keyboard_key_feedback_more_background = 2130837859; + public const int keyboard_hint_9 = 2130837859; // aapt resource value: 0x7f020164 - public const int keyboard_popup_panel_background = 2130837860; + public const int keyboard_key_feedback = 2130837860; // aapt resource value: 0x7f020165 - public const int keyboard_suggest_strip = 2130837861; + public const int keyboard_key_feedback_background = 2130837861; // aapt resource value: 0x7f020166 - public const int keyboard_suggest_strip_divider = 2130837862; + public const int keyboard_key_feedback_more_background = 2130837862; // aapt resource value: 0x7f020167 - public const int list_selector_background_pressed = 2130837863; + public const int keyboard_popup_panel_background = 2130837863; // aapt resource value: 0x7f020168 - public const int location_web_site = 2130837864; + public const int keyboard_suggest_strip = 2130837864; // aapt resource value: 0x7f020169 - public const int location_web_site_holodark = 2130837865; + public const int keyboard_suggest_strip_divider = 2130837865; // aapt resource value: 0x7f02016a - public const int mic_slash = 2130837866; + public const int list_selector_background_pressed = 2130837866; // aapt resource value: 0x7f02016b - public const int mr_ic_audio_vol = 2130837867; + public const int location_web_site = 2130837867; // aapt resource value: 0x7f02016c - public const int mr_ic_media_route_connecting_holo_dark = 2130837868; + public const int location_web_site_holodark = 2130837868; // aapt resource value: 0x7f02016d - public const int mr_ic_media_route_connecting_holo_light = 2130837869; + public const int mic_slash = 2130837869; // aapt resource value: 0x7f02016e - public const int mr_ic_media_route_disabled_holo_dark = 2130837870; + public const int mr_ic_audio_vol = 2130837870; // aapt resource value: 0x7f02016f - public const int mr_ic_media_route_disabled_holo_light = 2130837871; + public const int mr_ic_media_route_connecting_holo_dark = 2130837871; // aapt resource value: 0x7f020170 - public const int mr_ic_media_route_holo_dark = 2130837872; + public const int mr_ic_media_route_connecting_holo_light = 2130837872; // aapt resource value: 0x7f020171 - public const int mr_ic_media_route_holo_light = 2130837873; + public const int mr_ic_media_route_disabled_holo_dark = 2130837873; // aapt resource value: 0x7f020172 - public const int mr_ic_media_route_off_holo_dark = 2130837874; + public const int mr_ic_media_route_disabled_holo_light = 2130837874; // aapt resource value: 0x7f020173 - public const int mr_ic_media_route_off_holo_light = 2130837875; + public const int mr_ic_media_route_holo_dark = 2130837875; // aapt resource value: 0x7f020174 - public const int mr_ic_media_route_on_0_holo_dark = 2130837876; + public const int mr_ic_media_route_holo_light = 2130837876; // aapt resource value: 0x7f020175 - public const int mr_ic_media_route_on_0_holo_light = 2130837877; + public const int mr_ic_media_route_off_holo_dark = 2130837877; // aapt resource value: 0x7f020176 - public const int mr_ic_media_route_on_1_holo_dark = 2130837878; + public const int mr_ic_media_route_off_holo_light = 2130837878; // aapt resource value: 0x7f020177 - public const int mr_ic_media_route_on_1_holo_light = 2130837879; + public const int mr_ic_media_route_on_0_holo_dark = 2130837879; // aapt resource value: 0x7f020178 - public const int mr_ic_media_route_on_2_holo_dark = 2130837880; + public const int mr_ic_media_route_on_0_holo_light = 2130837880; // aapt resource value: 0x7f020179 - public const int mr_ic_media_route_on_2_holo_light = 2130837881; + public const int mr_ic_media_route_on_1_holo_dark = 2130837881; // aapt resource value: 0x7f02017a - public const int mr_ic_media_route_on_holo_dark = 2130837882; + public const int mr_ic_media_route_on_1_holo_light = 2130837882; // aapt resource value: 0x7f02017b - public const int mr_ic_media_route_on_holo_light = 2130837883; + public const int mr_ic_media_route_on_2_holo_dark = 2130837883; // aapt resource value: 0x7f02017c - public const int navigation_accept = 2130837884; + public const int mr_ic_media_route_on_2_holo_light = 2130837884; // aapt resource value: 0x7f02017d - public const int navigation_accept_dark = 2130837885; + public const int mr_ic_media_route_on_holo_dark = 2130837885; // aapt resource value: 0x7f02017e - public const int navigation_cancel = 2130837886; + public const int mr_ic_media_route_on_holo_light = 2130837886; // aapt resource value: 0x7f02017f - public const int navigation_cancel_holodark = 2130837887; + public const int navigation_accept = 2130837887; // aapt resource value: 0x7f020180 - public const int navigation_previous_item = 2130837888; + public const int navigation_accept_dark = 2130837888; // aapt resource value: 0x7f020181 - public const int navigation_previous_item_dark = 2130837889; + public const int navigation_cancel = 2130837889; // aapt resource value: 0x7f020182 - public const int notify = 2130837890; + public const int navigation_cancel_holodark = 2130837890; // aapt resource value: 0x7f020183 - public const int notify_keyboard = 2130837891; + public const int navigation_previous_item = 2130837891; // aapt resource value: 0x7f020184 - public const int ok_cancel = 2130837892; + public const int navigation_previous_item_dark = 2130837892; // aapt resource value: 0x7f020185 - public const int oktoberfest = 2130837893; + public const int notify = 2130837893; // aapt resource value: 0x7f020186 - public const int old_ic_launcher_gray = 2130837894; + public const int notify_keyboard = 2130837894; // aapt resource value: 0x7f020187 - public const int powered_by_google_dark = 2130837895; + public const int ok_cancel = 2130837895; // aapt resource value: 0x7f020188 - public const int powered_by_google_light = 2130837896; + public const int oktoberfest = 2130837896; // aapt resource value: 0x7f020189 - public const int RedButton = 2130837897; + public const int old_ic_launcher_gray = 2130837897; // aapt resource value: 0x7f02018a - public const int section_header = 2130837898; + public const int powered_by_google_dark = 2130837898; // aapt resource value: 0x7f02018b - public const int speak_now_level0 = 2130837899; + public const int powered_by_google_light = 2130837899; // aapt resource value: 0x7f02018c - public const int speak_now_level1 = 2130837900; + public const int RedButton = 2130837900; // aapt resource value: 0x7f02018d - public const int speak_now_level2 = 2130837901; + public const int section_header = 2130837901; // aapt resource value: 0x7f02018e - public const int speak_now_level3 = 2130837902; + public const int speak_now_level0 = 2130837902; // aapt resource value: 0x7f02018f - public const int speak_now_level4 = 2130837903; + public const int speak_now_level1 = 2130837903; // aapt resource value: 0x7f020190 - public const int speak_now_level5 = 2130837904; + public const int speak_now_level2 = 2130837904; // aapt resource value: 0x7f020191 - public const int speak_now_level6 = 2130837905; + public const int speak_now_level3 = 2130837905; // aapt resource value: 0x7f020192 - public const int sym_bkeyboard_123_mic = 2130837906; + public const int speak_now_level4 = 2130837906; // aapt resource value: 0x7f020193 - public const int sym_bkeyboard_delete = 2130837907; + public const int speak_now_level5 = 2130837907; // aapt resource value: 0x7f020194 - public const int sym_bkeyboard_done = 2130837908; + public const int speak_now_level6 = 2130837908; // aapt resource value: 0x7f020195 - public const int sym_bkeyboard_kp2a = 2130837909; + public const int sym_bkeyboard_123_mic = 2130837909; // aapt resource value: 0x7f020196 - public const int sym_bkeyboard_mic = 2130837910; + public const int sym_bkeyboard_delete = 2130837910; // aapt resource value: 0x7f020197 - public const int sym_bkeyboard_num0 = 2130837911; + public const int sym_bkeyboard_done = 2130837911; // aapt resource value: 0x7f020198 - public const int sym_bkeyboard_num1 = 2130837912; + public const int sym_bkeyboard_kp2a = 2130837912; // aapt resource value: 0x7f020199 - public const int sym_bkeyboard_num2 = 2130837913; + public const int sym_bkeyboard_mic = 2130837913; // aapt resource value: 0x7f02019a - public const int sym_bkeyboard_num3 = 2130837914; + public const int sym_bkeyboard_num0 = 2130837914; // aapt resource value: 0x7f02019b - public const int sym_bkeyboard_num4 = 2130837915; + public const int sym_bkeyboard_num1 = 2130837915; // aapt resource value: 0x7f02019c - public const int sym_bkeyboard_num5 = 2130837916; + public const int sym_bkeyboard_num2 = 2130837916; // aapt resource value: 0x7f02019d - public const int sym_bkeyboard_num6 = 2130837917; + public const int sym_bkeyboard_num3 = 2130837917; // aapt resource value: 0x7f02019e - public const int sym_bkeyboard_num7 = 2130837918; + public const int sym_bkeyboard_num4 = 2130837918; // aapt resource value: 0x7f02019f - public const int sym_bkeyboard_num8 = 2130837919; + public const int sym_bkeyboard_num5 = 2130837919; // aapt resource value: 0x7f0201a0 - public const int sym_bkeyboard_num9 = 2130837920; + public const int sym_bkeyboard_num6 = 2130837920; // aapt resource value: 0x7f0201a1 - public const int sym_bkeyboard_numalt = 2130837921; + public const int sym_bkeyboard_num7 = 2130837921; // aapt resource value: 0x7f0201a2 - public const int sym_bkeyboard_numpound = 2130837922; + public const int sym_bkeyboard_num8 = 2130837922; // aapt resource value: 0x7f0201a3 - public const int sym_bkeyboard_numstar = 2130837923; + public const int sym_bkeyboard_num9 = 2130837923; // aapt resource value: 0x7f0201a4 - public const int sym_bkeyboard_return = 2130837924; + public const int sym_bkeyboard_numalt = 2130837924; // aapt resource value: 0x7f0201a5 - public const int sym_bkeyboard_search = 2130837925; + public const int sym_bkeyboard_numpound = 2130837925; // aapt resource value: 0x7f0201a6 - public const int sym_bkeyboard_settings = 2130837926; + public const int sym_bkeyboard_numstar = 2130837926; // aapt resource value: 0x7f0201a7 - public const int sym_bkeyboard_shift = 2130837927; + public const int sym_bkeyboard_return = 2130837927; // aapt resource value: 0x7f0201a8 - public const int sym_bkeyboard_shift_locked = 2130837928; + public const int sym_bkeyboard_search = 2130837928; // aapt resource value: 0x7f0201a9 - public const int sym_bkeyboard_space = 2130837929; + public const int sym_bkeyboard_settings = 2130837929; // aapt resource value: 0x7f0201aa - public const int sym_bkeyboard_tab = 2130837930; + public const int sym_bkeyboard_shift = 2130837930; // aapt resource value: 0x7f0201ab - public const int sym_keyboard = 2130837931; + public const int sym_bkeyboard_shift_locked = 2130837931; // aapt resource value: 0x7f0201ac - public const int sym_keyboard_123_mic = 2130837932; + public const int sym_bkeyboard_space = 2130837932; // aapt resource value: 0x7f0201ad - public const int sym_keyboard_delete = 2130837933; + public const int sym_bkeyboard_tab = 2130837933; // aapt resource value: 0x7f0201ae - public const int sym_keyboard_done = 2130837934; + public const int sym_keyboard = 2130837934; // aapt resource value: 0x7f0201af - public const int sym_keyboard_feedback_123_mic = 2130837935; + public const int sym_keyboard_123_mic = 2130837935; // aapt resource value: 0x7f0201b0 - public const int sym_keyboard_feedback_delete = 2130837936; + public const int sym_keyboard_delete = 2130837936; // aapt resource value: 0x7f0201b1 - public const int sym_keyboard_feedback_done = 2130837937; + public const int sym_keyboard_done = 2130837937; // aapt resource value: 0x7f0201b2 - public const int sym_keyboard_feedback_kp2a = 2130837938; + public const int sym_keyboard_feedback_123_mic = 2130837938; // aapt resource value: 0x7f0201b3 - public const int sym_keyboard_feedback_language_arrows_left = 2130837939; + public const int sym_keyboard_feedback_delete = 2130837939; // aapt resource value: 0x7f0201b4 - public const int sym_keyboard_feedback_language_arrows_right = 2130837940; + public const int sym_keyboard_feedback_done = 2130837940; // aapt resource value: 0x7f0201b5 - public const int sym_keyboard_feedback_mic = 2130837941; + public const int sym_keyboard_feedback_kp2a = 2130837941; // aapt resource value: 0x7f0201b6 - public const int sym_keyboard_feedback_numalt = 2130837942; + public const int sym_keyboard_feedback_language_arrows_left = 2130837942; // aapt resource value: 0x7f0201b7 - public const int sym_keyboard_feedback_return = 2130837943; + public const int sym_keyboard_feedback_language_arrows_right = 2130837943; // aapt resource value: 0x7f0201b8 - public const int sym_keyboard_feedback_search = 2130837944; + public const int sym_keyboard_feedback_mic = 2130837944; // aapt resource value: 0x7f0201b9 - public const int sym_keyboard_feedback_settings = 2130837945; + public const int sym_keyboard_feedback_numalt = 2130837945; // aapt resource value: 0x7f0201ba - public const int sym_keyboard_feedback_shift = 2130837946; + public const int sym_keyboard_feedback_return = 2130837946; // aapt resource value: 0x7f0201bb - public const int sym_keyboard_feedback_shift_locked = 2130837947; + public const int sym_keyboard_feedback_search = 2130837947; // aapt resource value: 0x7f0201bc - public const int sym_keyboard_feedback_space = 2130837948; + public const int sym_keyboard_feedback_settings = 2130837948; // aapt resource value: 0x7f0201bd - public const int sym_keyboard_feedback_tab = 2130837949; + public const int sym_keyboard_feedback_shift = 2130837949; // aapt resource value: 0x7f0201be - public const int sym_keyboard_kp2a = 2130837950; + public const int sym_keyboard_feedback_shift_locked = 2130837950; // aapt resource value: 0x7f0201bf - public const int sym_keyboard_language_arrows_left = 2130837951; + public const int sym_keyboard_feedback_space = 2130837951; // aapt resource value: 0x7f0201c0 - public const int sym_keyboard_language_arrows_right = 2130837952; + public const int sym_keyboard_feedback_tab = 2130837952; // aapt resource value: 0x7f0201c1 - public const int sym_keyboard_mic = 2130837953; + public const int sym_keyboard_kp2a = 2130837953; // aapt resource value: 0x7f0201c2 - public const int sym_keyboard_num0 = 2130837954; + public const int sym_keyboard_language_arrows_left = 2130837954; // aapt resource value: 0x7f0201c3 - public const int sym_keyboard_num1 = 2130837955; + public const int sym_keyboard_language_arrows_right = 2130837955; // aapt resource value: 0x7f0201c4 - public const int sym_keyboard_num2 = 2130837956; + public const int sym_keyboard_mic = 2130837956; // aapt resource value: 0x7f0201c5 - public const int sym_keyboard_num3 = 2130837957; + public const int sym_keyboard_num0 = 2130837957; // aapt resource value: 0x7f0201c6 - public const int sym_keyboard_num4 = 2130837958; + public const int sym_keyboard_num1 = 2130837958; // aapt resource value: 0x7f0201c7 - public const int sym_keyboard_num5 = 2130837959; + public const int sym_keyboard_num2 = 2130837959; // aapt resource value: 0x7f0201c8 - public const int sym_keyboard_num6 = 2130837960; + public const int sym_keyboard_num3 = 2130837960; // aapt resource value: 0x7f0201c9 - public const int sym_keyboard_num7 = 2130837961; + public const int sym_keyboard_num4 = 2130837961; // aapt resource value: 0x7f0201ca - public const int sym_keyboard_num8 = 2130837962; + public const int sym_keyboard_num5 = 2130837962; // aapt resource value: 0x7f0201cb - public const int sym_keyboard_num9 = 2130837963; + public const int sym_keyboard_num6 = 2130837963; // aapt resource value: 0x7f0201cc - public const int sym_keyboard_numalt = 2130837964; + public const int sym_keyboard_num7 = 2130837964; // aapt resource value: 0x7f0201cd - public const int sym_keyboard_numpound = 2130837965; + public const int sym_keyboard_num8 = 2130837965; // aapt resource value: 0x7f0201ce - public const int sym_keyboard_numstar = 2130837966; + public const int sym_keyboard_num9 = 2130837966; // aapt resource value: 0x7f0201cf - public const int sym_keyboard_return = 2130837967; + public const int sym_keyboard_numalt = 2130837967; // aapt resource value: 0x7f0201d0 - public const int sym_keyboard_search = 2130837968; + public const int sym_keyboard_numpound = 2130837968; // aapt resource value: 0x7f0201d1 - public const int sym_keyboard_settings = 2130837969; + public const int sym_keyboard_numstar = 2130837969; // aapt resource value: 0x7f0201d2 - public const int sym_keyboard_shift = 2130837970; + public const int sym_keyboard_return = 2130837970; // aapt resource value: 0x7f0201d3 - public const int sym_keyboard_shift_lock = 2130837971; + public const int sym_keyboard_search = 2130837971; // aapt resource value: 0x7f0201d4 - public const int sym_keyboard_shift_locked = 2130837972; + public const int sym_keyboard_settings = 2130837972; // aapt resource value: 0x7f0201d5 - public const int sym_keyboard_space = 2130837973; + public const int sym_keyboard_shift = 2130837973; // aapt resource value: 0x7f0201d6 - public const int sym_keyboard_space_led = 2130837974; + public const int sym_keyboard_shift_lock = 2130837974; // aapt resource value: 0x7f0201d7 - public const int sym_keyboard_tab = 2130837975; + public const int sym_keyboard_shift_locked = 2130837975; // aapt resource value: 0x7f0201d8 - public const int transparent = 2130837976; + public const int sym_keyboard_space = 2130837976; // aapt resource value: 0x7f0201d9 - public const int vdots = 2130837977; + public const int sym_keyboard_space_led = 2130837977; // aapt resource value: 0x7f0201da - public const int vdots_holodark = 2130837978; + public const int sym_keyboard_tab = 2130837978; // aapt resource value: 0x7f0201db - public const int voice_ime_background = 2130837979; + public const int transparent = 2130837979; // aapt resource value: 0x7f0201dc - public const int voice_swipe_hint = 2130837980; + public const int vdots = 2130837980; // aapt resource value: 0x7f0201dd - public const int working = 2130837981; + public const int vdots_holodark = 2130837981; // aapt resource value: 0x7f0201de - public const int YellowButton = 2130837982; + public const int voice_ime_background = 2130837982; + + // aapt resource value: 0x7f0201df + public const int voice_swipe_hint = 2130837983; + + // aapt resource value: 0x7f0201e0 + public const int working = 2130837984; + + // aapt resource value: 0x7f0201e1 + public const int YellowButton = 2130837985; static Drawable() { diff --git a/src/keepass2android/Resources/drawable/ic_notify_loaded.png b/src/keepass2android/Resources/drawable/ic_notify_loaded.png new file mode 100644 index 0000000000000000000000000000000000000000..be22f8cfdf4d714f20ab2fc14c138df9fb8c5063 GIT binary patch literal 3651 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 VY7z-BQU(A3002ovPDHLkV1kTB&O-nI literal 0 HcmV?d00001 diff --git a/src/keepass2android/Resources/drawable/ic_notify_locked.png b/src/keepass2android/Resources/drawable/ic_notify_locked.png new file mode 100644 index 0000000000000000000000000000000000000000..840dafed9ce10d5439ab4dee687289be052cabef GIT binary patch literal 3637 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 Hu0mjf;49tG literal 0 HcmV?d00001 diff --git a/src/keepass2android/Resources/drawable/ic_notify_offline.png b/src/keepass2android/Resources/drawable/ic_notify_offline.png new file mode 100644 index 0000000000000000000000000000000000000000..a152838d2c50605f731735cb5cdc2d3720ccc7cc GIT binary patch literal 8984 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 K%>pIU=l=!BC4k8Q literal 0 HcmV?d00001 diff --git a/src/keepass2android/app/App.cs b/src/keepass2android/app/App.cs index 4cb3b894..2d4682df 100644 --- a/src/keepass2android/app/App.cs +++ b/src/keepass2android/app/App.cs @@ -52,6 +52,8 @@ namespace keepass2android public const string AppLauncherTitle = "@string/short_app_name_nonet"; public const string PackagePart = "keepass2android_nonet"; public const int LauncherIcon = Resource.Drawable.ic_launcher_offline; + public const int NotificationLockedIcon = Resource.Drawable.ic_notify_offline; + public const int NotificationUnlockedIcon = Resource.Drawable.ic_notify_locked; public const string Searchable = "@xml/searchable_offline"; } @@ -78,7 +80,9 @@ namespace keepass2android public const string Searchable = "@xml/searchable"; #endif public const int LauncherIcon = Resource.Drawable.ic_launcher; - + public const int NotificationLockedIcon = Resource.Drawable.ic_notify_loaded; + public const int NotificationUnlockedIcon = Resource.Drawable.ic_notify_locked; + } #endif /// diff --git a/src/keepass2android/keepass2android.csproj b/src/keepass2android/keepass2android.csproj index 92da885f..450583ed 100644 --- a/src/keepass2android/keepass2android.csproj +++ b/src/keepass2android/keepass2android.csproj @@ -1084,4 +1084,13 @@ 22.0.0.0 + + + + + + + + + \ No newline at end of file diff --git a/src/keepass2android/services/OngoingNotificationsService.cs b/src/keepass2android/services/OngoingNotificationsService.cs index a6ce81f4..17925a67 100644 --- a/src/keepass2android/services/OngoingNotificationsService.cs +++ b/src/keepass2android/services/OngoingNotificationsService.cs @@ -141,7 +141,7 @@ namespace keepass2android NotificationCompat.Builder builder = new NotificationCompat.Builder(this) .SetSmallIcon(grayIconResouceId) - .SetLargeIcon(BitmapFactory.DecodeResource(Resources, AppNames.LauncherIcon)) + .SetLargeIcon(MakeLargeIcon(BitmapFactory.DecodeResource(Resources, AppNames.NotificationLockedIcon))) .SetVisibility((int)Android.App.NotificationVisibility.Secret) .SetContentTitle(GetString(Resource.String.app_name)) .SetContentText(GetString(Resource.String.database_loaded_quickunlock_enabled, GetDatabaseName())); @@ -169,6 +169,13 @@ namespace keepass2android return builder.Build(); } + private Bitmap MakeLargeIcon(Bitmap unscaled) + { + int height = (int)(0.9*Resources.GetDimension(Android.Resource.Dimension.NotificationLargeIconHeight)); + int width = (int)(0.9*Resources.GetDimension(Android.Resource.Dimension.NotificationLargeIconWidth)); + return Bitmap.CreateScaledBitmap(unscaled, width, height, true); + } + #endregion #region Unlocked Warning @@ -179,7 +186,7 @@ namespace keepass2android new NotificationCompat.Builder(this) .SetOngoing(true) .SetSmallIcon(Resource.Drawable.ic_notify) - .SetLargeIcon(BitmapFactory.DecodeResource(Resources, Resource.Drawable.ic_launcher_red)) + .SetLargeIcon(MakeLargeIcon(BitmapFactory.DecodeResource(Resources, AppNames.NotificationUnlockedIcon))) .SetVisibility((int)Android.App.NotificationVisibility.Public) .SetContentTitle(GetString(Resource.String.app_name)) .SetContentText(GetString(Resource.String.database_loaded_unlocked, GetDatabaseName()));