From f96eb6672e267ab5e0ba2b25ae1af6c809d4f544 Mon Sep 17 00:00:00 2001 From: Chulwoo Lee Date: Fri, 18 Jul 2014 15:25:08 +0900 Subject: [PATCH] Put input ID when inserting channels Change-Id: I1c9944db6fd9d05cfbbfffe2e3464b6f16b7445b --- .../atsctvinput/AtscTvInputScanActivity.java | 30 +++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/samples/AtscTvInput/src/com/example/android/atsctvinput/AtscTvInputScanActivity.java b/samples/AtscTvInput/src/com/example/android/atsctvinput/AtscTvInputScanActivity.java index 278845720..afc778b82 100644 --- a/samples/AtscTvInput/src/com/example/android/atsctvinput/AtscTvInputScanActivity.java +++ b/samples/AtscTvInput/src/com/example/android/atsctvinput/AtscTvInputScanActivity.java @@ -17,10 +17,13 @@ package com.example.android.atsctvinput; import android.app.Activity; +import android.app.AlertDialog; import android.app.ProgressDialog; import android.content.ComponentName; import android.content.ContentValues; +import android.content.DialogInterface; import android.media.tv.TvContract; +import android.media.tv.TvInputInfo; import android.net.Uri; import android.os.AsyncTask; import android.os.Bundle; @@ -42,10 +45,18 @@ public class AtscTvInputScanActivity extends Activity { private static final long FAKE_SCANTIME_PER_CHANNEL_MS = 1000; private ProgressDialog mProgressDialog; + private String mInputId; + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + mInputId = getIntent().getStringExtra(TvInputInfo.EXTRA_INPUT_ID); + if (mInputId == null) { + showErrorDialog("Invalid Intent."); + return; + } + mProgressDialog = new ProgressDialog(this); mProgressDialog.setMessage(getResources().getString(R.string.channel_scan_message)); mProgressDialog.setCancelable(false); @@ -68,9 +79,23 @@ public class AtscTvInputScanActivity extends Activity { }.execute(); } + private void showErrorDialog(String message) { + new AlertDialog.Builder(this, AlertDialog.THEME_HOLO_DARK) + .setTitle("Error") + .setMessage(message) + .setCancelable(false) + .setPositiveButton("OK", + new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int id) { + finishAffinity(); + } + }) + .show(); + } + private void clearChannels() { - String id = TvContract.buildInputId(new ComponentName(this, AtscTvInputService.class)); - Uri uri = TvContract.buildChannelsUriForInput(id); + Uri uri = TvContract.buildChannelsUriForInput(mInputId); getContentResolver().delete(uri, null, null); } @@ -92,6 +117,7 @@ public class AtscTvInputScanActivity extends Activity { Log.d(TAG, "Channel " + channel.getShortName() + " " + channel.getMajorChannelNumber() + "-" + channel.getMinorChannelNumber() + " is detected."); ContentValues values = new ContentValues(); + values.put(TvContract.Channels.COLUMN_INPUT_ID, mInputId); values.put(TvContract.Channels.COLUMN_DISPLAY_NUMBER, channel.getMajorChannelNumber() + "-" + channel.getMinorChannelNumber()); values.put(TvContract.Channels.COLUMN_DISPLAY_NAME, channel.getShortName());