fixed quick search issue
This commit is contained in:
		| @@ -43,8 +43,16 @@ namespace keepass2android | |||||||
| 	//[MetaData("android.app.default_searchable",Value="keepass2android.search.SearchResults")] | 	//[MetaData("android.app.default_searchable",Value="keepass2android.search.SearchResults")] | ||||||
| 	[IntentFilter(new[] { "android.intent.action.SEARCH" })] | 	[IntentFilter(new[] { "android.intent.action.SEARCH" })] | ||||||
| 	[MetaData("android.app.default_searchable", Value = "MaterialTest2.EntryEditActivity")] | 	[MetaData("android.app.default_searchable", Value = "MaterialTest2.EntryEditActivity")] | ||||||
| 	[MetaData("android.app.searchable", Resource = "@xml/searchable_mattest")] | #if NoNet | ||||||
| 	[IntentFilter(new string[]{"android.intent.action.SEARCH"})] |     [MetaData("android.app.searchable", Resource = "@xml/searchable_offline")] | ||||||
|  | #else | ||||||
|  | #if DEBUG | ||||||
|  |     [MetaData("android.app.searchable", Resource = "@xml/searchable_debug")] | ||||||
|  | #else | ||||||
|  |     [MetaData("android.app.searchable", Resource = "@xml/searchable")] | ||||||
|  | #endif | ||||||
|  | #endif | ||||||
|  |     [IntentFilter(new string[]{"android.intent.action.SEARCH"})] | ||||||
| 	[MetaData("android.app.searchable",Resource=AppNames.Searchable)] | 	[MetaData("android.app.searchable",Resource=AppNames.Searchable)] | ||||||
| 	public class GroupActivity : GroupBaseActivity { | 	public class GroupActivity : GroupBaseActivity { | ||||||
| 		 | 		 | ||||||
|   | |||||||
| @@ -1,29 +1,10 @@ | |||||||
| <?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||||||
| <!-- |  | ||||||
|   |  | ||||||
|       |  | ||||||
|  This file is part of Keepass2Android, Copyright 2013 Philipp Crocoll. This file is based on Keepassdroid, Copyright Brian Pellin. |  | ||||||
|  |  | ||||||
|   Keepass2Android is free software: you can redistribute it and/or modify |  | ||||||
|   it under the terms of the GNU General Public License as published by |  | ||||||
|   the Free Software Foundation, either version 2 of the License, or |  | ||||||
|   (at your option) any later version. |  | ||||||
|  |  | ||||||
|   Keepass2Android is distributed in the hope that it will be useful, |  | ||||||
|   but WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
|   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the |  | ||||||
|   GNU General Public License for more details. |  | ||||||
|  |  | ||||||
|   You should have received a copy of the GNU General Public License |  | ||||||
|   along with Keepass2Android.  If not, see <http://www.gnu.org/licenses/>. |  | ||||||
| --> |  | ||||||
| <searchable xmlns:android="http://schemas.android.com/apk/res/android" | <searchable xmlns:android="http://schemas.android.com/apk/res/android" | ||||||
|     android:label="@string/search_label" |     android:label="@string/app_name" | ||||||
|     android:hint="@string/search_hint" |     android:hint="@string/search_hint" | ||||||
|  |     android:searchSettingsDescription="Search database" | ||||||
|     android:searchMode="showSearchLabelAsBadge" |     android:searchMode="showSearchLabelAsBadge" | ||||||
|     android:searchSuggestAuthority="keepass2android.keepass2android.SearchProvider" |     android:searchSuggestAuthority="kp2a.keepass2android.SearchProvider" | ||||||
|     android:searchSuggestSelection=" ?" |  | ||||||
|     android:searchSuggestThreshold="2" |  | ||||||
|     android:searchSuggestIntentAction="android.intent.action.VIEW" |     android:searchSuggestIntentAction="android.intent.action.VIEW" | ||||||
|     android:searchSuggestIntentData="content://keepass2android.EntryActivity" |     android:searchSuggestSelection=" ?" | ||||||
|  /> |     android:searchSuggestThreshold="2"  /> | ||||||
| @@ -1,29 +1,10 @@ | |||||||
| <?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||||||
| <!-- |  | ||||||
|   |  | ||||||
|       |  | ||||||
|  This file is part of Keepass2Android, Copyright 2013 Philipp Crocoll. This file is based on Keepassdroid, Copyright Brian Pellin. |  | ||||||
|  |  | ||||||
|   Keepass2Android is free software: you can redistribute it and/or modify |  | ||||||
|   it under the terms of the GNU General Public License as published by |  | ||||||
|   the Free Software Foundation, either version 2 of the License, or |  | ||||||
|   (at your option) any later version. |  | ||||||
|  |  | ||||||
|   Keepass2Android is distributed in the hope that it will be useful, |  | ||||||
|   but WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
|   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the |  | ||||||
|   GNU General Public License for more details. |  | ||||||
|  |  | ||||||
|   You should have received a copy of the GNU General Public License |  | ||||||
|   along with Keepass2Android.  If not, see <http://www.gnu.org/licenses/>. |  | ||||||
| --> |  | ||||||
| <searchable xmlns:android="http://schemas.android.com/apk/res/android" | <searchable xmlns:android="http://schemas.android.com/apk/res/android" | ||||||
|     android:label="@string/search_label" |     android:label="@string/app_name" | ||||||
|     android:hint="@string/search_hint" |     android:hint="@string/search_hint" | ||||||
|  |     android:searchSettingsDescription="Search database" | ||||||
|     android:searchMode="showSearchLabelAsBadge" |     android:searchMode="showSearchLabelAsBadge" | ||||||
|     android:searchSuggestAuthority="keepass2android.keepass2android_debug.SearchProvider" |     android:searchSuggestAuthority="kp2a.keepass2android_debug.SearchProvider" | ||||||
|     android:searchSuggestSelection=" ?" |  | ||||||
|     android:searchSuggestThreshold="2" |  | ||||||
|     android:searchSuggestIntentAction="android.intent.action.VIEW" |     android:searchSuggestIntentAction="android.intent.action.VIEW" | ||||||
|     android:searchSuggestIntentData="content://keepass2android.EntryActivity" |     android:searchSuggestSelection=" ?" | ||||||
|  /> |     android:searchSuggestThreshold="2"  /> | ||||||
| @@ -3,10 +3,8 @@ | |||||||
|     android:label="@string/app_name" |     android:label="@string/app_name" | ||||||
|     android:hint="@string/search_hint" |     android:hint="@string/search_hint" | ||||||
|     android:searchSettingsDescription="Search database" |     android:searchSettingsDescription="Search database" | ||||||
|   |     android:searchMode="showSearchLabelAsBadge" | ||||||
|             android:searchMode="showSearchLabelAsBadge" |     android:searchSuggestAuthority="kp2a.keepass2android_debug.SearchProvider" | ||||||
|              |  | ||||||
|     android:searchSuggestAuthority="keepass2android.keepass2android_debug.SearchProvider" |  | ||||||
|     android:searchSuggestIntentAction="android.intent.action.VIEW" |     android:searchSuggestIntentAction="android.intent.action.VIEW" | ||||||
|     android:searchSuggestSelection=" ?" |     android:searchSuggestSelection=" ?" | ||||||
|     android:searchSuggestThreshold="2"  /> |     android:searchSuggestThreshold="2"  /> | ||||||
| @@ -1,29 +1,10 @@ | |||||||
| <?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||||||
| <!-- |  | ||||||
|   |  | ||||||
|       |  | ||||||
|  This file is part of Keepass2Android, Copyright 2013 Philipp Crocoll. This file is based on Keepassdroid, Copyright Brian Pellin. |  | ||||||
|  |  | ||||||
|   Keepass2Android is free software: you can redistribute it and/or modify |  | ||||||
|   it under the terms of the GNU General Public License as published by |  | ||||||
|   the Free Software Foundation, either version 2 of the License, or |  | ||||||
|   (at your option) any later version. |  | ||||||
|  |  | ||||||
|   Keepass2Android is distributed in the hope that it will be useful, |  | ||||||
|   but WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
|   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the |  | ||||||
|   GNU General Public License for more details. |  | ||||||
|  |  | ||||||
|   You should have received a copy of the GNU General Public License |  | ||||||
|   along with Keepass2Android.  If not, see <http://www.gnu.org/licenses/>. |  | ||||||
| --> |  | ||||||
| <searchable xmlns:android="http://schemas.android.com/apk/res/android" | <searchable xmlns:android="http://schemas.android.com/apk/res/android" | ||||||
|     android:label="@string/search_label" |     android:label="@string/app_name" | ||||||
|     android:hint="@string/search_hint" |     android:hint="@string/search_hint" | ||||||
|  |     android:searchSettingsDescription="Search database" | ||||||
|     android:searchMode="showSearchLabelAsBadge" |     android:searchMode="showSearchLabelAsBadge" | ||||||
|     android:searchSuggestAuthority="keepass2android.keepass2android_nonet.SearchProvider" |     android:searchSuggestAuthority="kp2a.keepass2android_nonet.SearchProvider" | ||||||
|     android:searchSuggestSelection=" ?" |  | ||||||
|     android:searchSuggestThreshold="2" |  | ||||||
|     android:searchSuggestIntentAction="android.intent.action.VIEW" |     android:searchSuggestIntentAction="android.intent.action.VIEW" | ||||||
|     android:searchSuggestIntentData="content://keepass2android.EntryActivity" |     android:searchSuggestSelection=" ?" | ||||||
|  /> |     android:searchSuggestThreshold="2"  /> | ||||||
| @@ -42,7 +42,7 @@ namespace keepass2android.search | |||||||
| 			GetIcon, | 			GetIcon, | ||||||
| 			GetSuggestions | 			GetSuggestions | ||||||
| 		} | 		} | ||||||
| 		public const String Authority = "keepass2android." + AppNames.PackagePart + ".SearchProvider"; | 		public const String Authority = "kp2a." + AppNames.PackagePart + ".SearchProvider"; | ||||||
| 		 | 		 | ||||||
| 		private const string GetIconPathQuery = "get_icon"; | 		private const string GetIconPathQuery = "get_icon"; | ||||||
| 		private const string IconIdParameter = "IconId"; | 		private const string IconIdParameter = "IconId"; | ||||||
| @@ -103,7 +103,16 @@ namespace keepass2android.search | |||||||
| 			return null; | 			return null; | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		public override ParcelFileDescriptor OpenFile(Android.Net.Uri uri, string mode) |  | ||||||
|  |         public static float convertDpToPixel(float dp, Context context) | ||||||
|  |         { | ||||||
|  |             Resources resources = context.Resources; | ||||||
|  |             Android.Util.DisplayMetrics metrics = resources.DisplayMetrics; | ||||||
|  |             float px = dp * metrics.Density; | ||||||
|  |             return px; | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         public override ParcelFileDescriptor OpenFile(Android.Net.Uri uri, string mode) | ||||||
| 		{ | 		{ | ||||||
| 			switch ((UriMatches)UriMatcher.Match(uri)) | 			switch ((UriMatches)UriMatcher.Match(uri)) | ||||||
| 			{ | 			{ | ||||||
| @@ -119,7 +128,23 @@ namespace keepass2android.search | |||||||
|  |  | ||||||
| 						ThreadPool.QueueUserWorkItem(state => | 						ThreadPool.QueueUserWorkItem(state => | ||||||
| 							{ | 							{ | ||||||
| 								iconDrawable.Bitmap.Compress(Bitmap.CompressFormat.Png, 100, outStream); |                                 var original = iconDrawable.Bitmap; | ||||||
|  |                                 Bitmap copy = Bitmap.CreateBitmap(original.Width, original.Height, original.GetConfig()); | ||||||
|  |                                 Canvas copiedCanvas = new Canvas(copy); | ||||||
|  |                                 copiedCanvas.DrawBitmap(original, 0f, 0f, null); | ||||||
|  |  | ||||||
|  |                                 var bitmap = copy; | ||||||
|  |                                 float maxSize = convertDpToPixel(60, App.Context); | ||||||
|  |                                 float scale = Math.Min(maxSize / bitmap.Width, maxSize / bitmap.Height); | ||||||
|  |                                 var scaleWidth = (int)(bitmap.Width * scale); | ||||||
|  |                                 var scaleHeight = (int)(bitmap.Height * scale); | ||||||
|  |                                 var scaledBitmap = Bitmap.CreateScaledBitmap(bitmap, scaleWidth, scaleHeight, true); | ||||||
|  |                                 Bitmap newRectBitmap = Bitmap.CreateBitmap((int)maxSize, (int)maxSize, Bitmap.Config.Argb8888); | ||||||
|  |  | ||||||
|  |                                 Canvas c = new Canvas(newRectBitmap); | ||||||
|  |                                 c.DrawBitmap(scaledBitmap, (maxSize - scaledBitmap.Width) / 2.0f, (maxSize - scaledBitmap.Height) / 2.0f, null); | ||||||
|  |                                 bitmap = newRectBitmap; | ||||||
|  |                                 bitmap.Compress(Bitmap.CompressFormat.Png, 100, outStream); | ||||||
| 								outStream.Close(); | 								outStream.Close(); | ||||||
| 							}); | 							}); | ||||||
| 						 | 						 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Philipp Crocoll
					Philipp Crocoll