aboutsummaryrefslogtreecommitdiff
path: root/src/com/android/tv/search/TvProviderSearch.java
diff options
context:
space:
mode:
authorYoungsang Cho <youngsang@google.com>2016-10-31 15:28:42 -0700
committerYoungsang Cho <youngsang@google.com>2016-10-31 15:28:42 -0700
commit919e1ed7e914029a1a0054237d86dc7b19ced898 (patch)
treecb30cfbafd80e01d314868cdc36e783d39981119 /src/com/android/tv/search/TvProviderSearch.java
parent2933fcfd17f59c086436b270e7c01f2afcd54aa5 (diff)
downloadTV-919e1ed7e914029a1a0054237d86dc7b19ced898.tar.gz
Sync to ub-tv-killing at 6f6e46557accb62c9548e4177d6005aa944dbf33
Change-Id: I873644d6d9d0110c981ef6075cb4019c16bbb94b
Diffstat (limited to 'src/com/android/tv/search/TvProviderSearch.java')
-rw-r--r--src/com/android/tv/search/TvProviderSearch.java34
1 files changed, 30 insertions, 4 deletions
diff --git a/src/com/android/tv/search/TvProviderSearch.java b/src/com/android/tv/search/TvProviderSearch.java
index bd4ae5e5..3804f2de 100644
--- a/src/com/android/tv/search/TvProviderSearch.java
+++ b/src/com/android/tv/search/TvProviderSearch.java
@@ -28,6 +28,7 @@ import android.media.tv.TvContract.WatchedPrograms;
import android.media.tv.TvInputInfo;
import android.media.tv.TvInputManager;
import android.net.Uri;
+import android.os.SystemClock;
import android.support.annotation.WorkerThread;
import android.text.TextUtils;
import android.util.Log;
@@ -54,8 +55,8 @@ import java.util.Set;
* An implementation of {@link SearchInterface} to search query from TvProvider directly.
*/
public class TvProviderSearch implements SearchInterface {
- private static final boolean DEBUG = false;
private static final String TAG = "TvProviderSearch";
+ private static final boolean DEBUG = false;
private static final int NO_LIMIT = 0;
@@ -159,6 +160,8 @@ public class TvProviderSearch implements SearchInterface {
@WorkerThread
private List<SearchResult> searchChannels(String query, Set<Long> channels, int limit) {
+ if (DEBUG) Log.d(TAG, "Searching channels: '" + query + "'");
+ long time = SystemClock.elapsedRealtime();
List<SearchResult> results = new ArrayList<>();
if (TextUtils.isDigitsOnly(query)) {
results.addAll(searchChannels(query, new String[] { Channels.COLUMN_DISPLAY_NUMBER },
@@ -178,6 +181,10 @@ public class TvProviderSearch implements SearchInterface {
for (SearchResult result : results) {
fillProgramInfo(result);
}
+ if (DEBUG) {
+ Log.d(TAG, "Found " + results.size() + " channels. Elapsed time for searching" +
+ " channels: " + (SystemClock.elapsedRealtime() - time) + "(msec)");
+ }
return results;
}
@@ -305,6 +312,8 @@ public class TvProviderSearch implements SearchInterface {
@WorkerThread
private List<SearchResult> searchPrograms(String query, String[] columnForExactMatching,
String[] columnForPartialMatching, Set<Long> channelsFound, int limit) {
+ if (DEBUG) Log.d(TAG, "Searching programs: '" + query + "'");
+ long time = SystemClock.elapsedRealtime();
Assert.assertTrue(
(columnForExactMatching != null && columnForExactMatching.length > 0) ||
(columnForPartialMatching != null && columnForPartialMatching.length > 0));
@@ -395,6 +404,10 @@ public class TvProviderSearch implements SearchInterface {
}
}
}
+ if (DEBUG) {
+ Log.d(TAG, "Found " + searchResults.size() + " programs. Elapsed time for searching" +
+ " programs: " + (SystemClock.elapsedRealtime() - time) + "(msec)");
+ }
return searchResults;
}
@@ -420,9 +433,8 @@ public class TvProviderSearch implements SearchInterface {
}
private List<SearchResult> searchInputs(String query, int limit) {
- if (DEBUG) {
- Log.d(TAG, "searchInputs(" + query + ", limit=" + limit + ")");
- }
+ if (DEBUG) Log.d(TAG, "Searching inputs: '" + query + "'");
+ long time = SystemClock.elapsedRealtime();
query = canonicalizeLabel(query);
List<TvInputInfo> inputList = mTvInputManager.getTvInputList();
@@ -435,6 +447,11 @@ public class TvProviderSearch implements SearchInterface {
if (TextUtils.equals(query, label) || TextUtils.equals(query, customLabel)) {
results.add(buildSearchResultForInput(input.getId()));
if (results.size() >= limit) {
+ if (DEBUG) {
+ Log.d(TAG, "Found " + results.size() + " inputs. Elapsed time for" +
+ " searching inputs: " + (SystemClock.elapsedRealtime() - time) +
+ "(msec)");
+ }
return results;
}
}
@@ -448,10 +465,19 @@ public class TvProviderSearch implements SearchInterface {
(customLabel != null && customLabel.contains(query))) {
results.add(buildSearchResultForInput(input.getId()));
if (results.size() >= limit) {
+ if (DEBUG) {
+ Log.d(TAG, "Found " + results.size() + " inputs. Elapsed time for" +
+ " searching inputs: " + (SystemClock.elapsedRealtime() - time) +
+ "(msec)");
+ }
return results;
}
}
}
+ if (DEBUG) {
+ Log.d(TAG, "Found " + results.size() + " inputs. Elapsed time for searching" +
+ " inputs: " + (SystemClock.elapsedRealtime() - time) + "(msec)");
+ }
return results;
}