146439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato/* 246439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato * Copyright (C) 2010 The Android Open Source Project 346439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato * 446439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato * Licensed under the Apache License, Version 2.0 (the "License"); 546439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato * you may not use this file except in compliance with the License. 646439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato * You may obtain a copy of the License at 746439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato * 846439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato * http://www.apache.org/licenses/LICENSE-2.0 946439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato * 1046439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato * Unless required by applicable law or agreed to in writing, software 1146439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato * distributed under the License is distributed on an "AS IS" BASIS, 1246439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1346439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato * See the License for the specific language governing permissions and 1446439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato * limitations under the License. 1546439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato */ 1646439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato 1746439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onoratopackage com.android.statusbartest; 1846439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato 1980a44401a22344f7eabce6976372ab144ef22893Joe Onoratoimport java.util.GregorianCalendar; 2080a44401a22344f7eabce6976372ab144ef22893Joe Onorato 218d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onoratoimport android.app.Activity; 2246439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onoratoimport android.app.Notification; 2346439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onoratoimport android.app.NotificationManager; 2446439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onoratoimport android.app.PendingIntent; 2546439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onoratoimport android.content.Context; 2646439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onoratoimport android.content.ContentResolver; 2746439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onoratoimport android.content.Intent; 2846439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onoratoimport android.graphics.Bitmap; 2946439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onoratoimport android.graphics.drawable.BitmapDrawable; 3046439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onoratoimport android.net.Uri; 318d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onoratoimport android.os.Bundle; 3246439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onoratoimport android.os.Environment; 33205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandlerimport android.os.Handler; 3446439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onoratoimport android.os.Vibrator; 3546439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onoratoimport android.os.Handler; 36b9d36649ca458cb5326a144fd88e26b92efba728Daniel Sandlerimport android.text.SpannableStringBuilder; 378d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onoratoimport android.text.TextUtils; 3846439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onoratoimport android.util.Log; 3946439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onoratoimport android.net.Uri; 4046439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onoratoimport android.os.SystemClock; 418d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onoratoimport android.view.View; 428d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onoratoimport android.widget.CompoundButton; 438d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onoratoimport android.widget.RadioButton; 448d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onoratoimport android.widget.RadioGroup; 4546439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onoratoimport android.widget.RemoteViews; 4646439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onoratoimport android.os.PowerManager; 4746439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato 488d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onoratopublic class NotificationBuilderTest extends Activity 4946439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato{ 5046439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato private final static String TAG = "NotificationTestList"; 5146439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato 5246439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato NotificationManager mNM; 53205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler Handler mHandler; 54205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler int mStartDelay; 5546439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato 5646439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato @Override 578d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato public void onCreate(Bundle icicle) { 588d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato super.onCreate(icicle); 598d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato mNM = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); 60205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler mHandler = new Handler(); 618d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato setContentView(R.layout.notification_builder_test); 628d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato if (icicle == null) { 638d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato setDefaults(); 648d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato } 658d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato for (int id: new int[] { 668d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato R.id.clear_1, 678d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato R.id.clear_2, 688d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato R.id.clear_3, 698d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato R.id.clear_4, 708d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato R.id.clear_5, 718d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato R.id.clear_6, 728d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato R.id.clear_7, 738d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato R.id.clear_8, 748d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato R.id.clear_9, 758d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato R.id.clear_10, 768d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato R.id.notify_1, 778d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato R.id.notify_2, 788d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato R.id.notify_3, 798d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato R.id.notify_4, 808d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato R.id.notify_5, 818d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato R.id.notify_6, 828d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato R.id.notify_7, 838d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato R.id.notify_8, 848d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato R.id.notify_9, 858d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato R.id.notify_10, 868d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato R.id.ten, 878d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato R.id.clear_all, 888d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato }) { 898d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato findViewById(id).setOnClickListener(mClickListener); 908d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato } 9146439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato } 9246439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato 938d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato private void setDefaults() { 948d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato setChecked(R.id.when_now); 958d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato setChecked(R.id.icon_surprise); 968d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato setChecked(R.id.title_medium); 978d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato setChecked(R.id.text_medium); 988d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato setChecked(R.id.info_none); 998d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato setChecked(R.id.number_0); 1008d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato setChecked(R.id.intent_alert); 1018d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato setChecked(R.id.delete_none); 1028d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato setChecked(R.id.full_screen_none); 1038d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato setChecked(R.id.ticker_none); 1048d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato setChecked(R.id.large_icon_none); 1058d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato setChecked(R.id.sound_none); 1068d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato setChecked(R.id.vibrate_none); 107205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler setChecked(R.id.pri_default); 1088d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato setChecked(R.id.lights_red); 1098d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato setChecked(R.id.lights_off); 110205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler setChecked(R.id.delay_none); 111205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler// setChecked(R.id.default_vibrate); 112205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler// setChecked(R.id.default_sound); 113205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler// setChecked(R.id.default_lights); 11446439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato } 11546439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato 1168d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato private View.OnClickListener mClickListener = new View.OnClickListener() { 1178d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato public void onClick(View v) { 1188d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato switch (v.getId()) { 1198d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.clear_1: 1208d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato mNM.cancel(1); 1218d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 1228d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.clear_2: 1238d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato mNM.cancel(2); 1248d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 1258d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.clear_3: 1268d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato mNM.cancel(3); 1278d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 1288d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.clear_4: 1298d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato mNM.cancel(4); 1308d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 1318d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.clear_5: 1328d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato mNM.cancel(5); 1338d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 1348d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.clear_6: 1358d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato mNM.cancel(6); 1368d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 1378d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.clear_7: 1388d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato mNM.cancel(7); 1398d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 1408d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.clear_8: 1418d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato mNM.cancel(8); 1428d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 1438d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.clear_9: 1448d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato mNM.cancel(9); 1458d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 1468d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.clear_10: 1478d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato mNM.cancel(10); 1488d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 1498d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.notify_1: 1508d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato sendNotification(1); 1518d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 1528d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.notify_2: 1538d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato sendNotification(2); 1548d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 1558d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.notify_3: 1568d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato sendNotification(3); 1578d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 1588d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.notify_4: 1598d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato sendNotification(4); 1608d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 1618d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.notify_5: 1628d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato sendNotification(5); 1638d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 1648d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.notify_6: 1658d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato sendNotification(6); 1668d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 1678d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.notify_7: 1688d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato sendNotification(7); 1698d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 1708d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.notify_8: 1718d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato sendNotification(8); 1728d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 1738d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.notify_9: 1748d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato sendNotification(9); 1758d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 1768d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.notify_10: 1778d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato sendNotification(10); 1788d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 1798d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.ten: { 1808d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato for (int id=1; id<=10; id++) { 1818d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato sendNotification(id); 1828d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato } 1838d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 1848d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato } 1858d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.clear_all: { 1868d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato for (int id=1; id<=10; id++) { 1878d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato mNM.cancel(id); 1888d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato } 1898d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 1908d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato } 19146439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato } 1928d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato } 1938d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato }; 19446439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato 195205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler private void sendNotification(final int id) { 1968d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato final Notification n = buildNotification(id); 197205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler mHandler.postDelayed(new Runnable() { 198205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler public void run() { 199205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler mNM.notify(id, n); 200205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler } 201205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler }, mStartDelay); 2028d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato } 20346439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato 204b9d36649ca458cb5326a144fd88e26b92efba728Daniel Sandler private static CharSequence subst(CharSequence in, char ch, CharSequence sub) { 205b9d36649ca458cb5326a144fd88e26b92efba728Daniel Sandler int i=0; 206b9d36649ca458cb5326a144fd88e26b92efba728Daniel Sandler SpannableStringBuilder edit = new SpannableStringBuilder(in); 207b9d36649ca458cb5326a144fd88e26b92efba728Daniel Sandler while (i<edit.length()) { 208b9d36649ca458cb5326a144fd88e26b92efba728Daniel Sandler if (edit.charAt(i) == ch) { 209b9d36649ca458cb5326a144fd88e26b92efba728Daniel Sandler edit.replace(i, i+1, sub); 210b9d36649ca458cb5326a144fd88e26b92efba728Daniel Sandler i += sub.length(); 211b9d36649ca458cb5326a144fd88e26b92efba728Daniel Sandler } else { 212b9d36649ca458cb5326a144fd88e26b92efba728Daniel Sandler i ++; 213b9d36649ca458cb5326a144fd88e26b92efba728Daniel Sandler } 214b9d36649ca458cb5326a144fd88e26b92efba728Daniel Sandler } 215b9d36649ca458cb5326a144fd88e26b92efba728Daniel Sandler return edit; 216b9d36649ca458cb5326a144fd88e26b92efba728Daniel Sandler } 217b9d36649ca458cb5326a144fd88e26b92efba728Daniel Sandler 2188d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato private Notification buildNotification(int id) { 2198d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato Notification.Builder b = new Notification.Builder(this); 220561d3858bb9409b999a19f7ba93f0b12e1db835fJoe Onorato 2218d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato // when 2228d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato switch (getRadioChecked(R.id.group_when)) { 22380a44401a22344f7eabce6976372ab144ef22893Joe Onorato case R.id.when_midnight: { 22480a44401a22344f7eabce6976372ab144ef22893Joe Onorato GregorianCalendar c = new GregorianCalendar(); 22580a44401a22344f7eabce6976372ab144ef22893Joe Onorato c.set(GregorianCalendar.HOUR_OF_DAY, 0); 22680a44401a22344f7eabce6976372ab144ef22893Joe Onorato c.set(GregorianCalendar.MINUTE, 0); 22780a44401a22344f7eabce6976372ab144ef22893Joe Onorato c.set(GregorianCalendar.SECOND, 0); 22880a44401a22344f7eabce6976372ab144ef22893Joe Onorato b.setWhen(c.getTimeInMillis()); 2298d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 23080a44401a22344f7eabce6976372ab144ef22893Joe Onorato } 2318d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.when_now: 2328d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato b.setWhen(System.currentTimeMillis()); 2338d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 2348d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.when_now_plus_1h: 2358d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 2368d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.when_tomorrow: 2378d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 2388d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato } 23946439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato 2408d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato // icon 2418d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato switch (getRadioChecked(R.id.group_icon)) { 2428d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.icon_im: 2438d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato b.setSmallIcon(R.drawable.icon1); 2448d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 2458d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.icon_alert: 2468d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato b.setSmallIcon(R.drawable.icon2); 2478d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 2488d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.icon_surprise: 2498d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato b.setSmallIcon(R.drawable.emo_im_kissing); 2508d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 2518d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato } 25246439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato 2538d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato // title 254b9d36649ca458cb5326a144fd88e26b92efba728Daniel Sandler final CharSequence title = getRadioTag(R.id.group_title); 2558d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato if (!TextUtils.isEmpty(title)) { 2568d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato b.setContentTitle(title); 2578d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato } 2588595a3dd9a6feff70f8ddbad924d79b591d611e4Joe Onorato 2598d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato // text 260b9d36649ca458cb5326a144fd88e26b92efba728Daniel Sandler final CharSequence text = getRadioTag(R.id.group_text); 2618d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato if (!TextUtils.isEmpty(text)) { 262b9d36649ca458cb5326a144fd88e26b92efba728Daniel Sandler if (getRadioChecked(R.id.group_text) == R.id.text_emoji) { 263b9d36649ca458cb5326a144fd88e26b92efba728Daniel Sandler // UTF-16 for +1F335 264b9d36649ca458cb5326a144fd88e26b92efba728Daniel Sandler b.setContentText(subst(text, 265b9d36649ca458cb5326a144fd88e26b92efba728Daniel Sandler '_', "\ud83c\udf35")); 266b9d36649ca458cb5326a144fd88e26b92efba728Daniel Sandler } else { 267b9d36649ca458cb5326a144fd88e26b92efba728Daniel Sandler b.setContentText(text); 268b9d36649ca458cb5326a144fd88e26b92efba728Daniel Sandler } 2698d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato } 2703f76aa7755fbb2e77ca6a648bbfa1f75680788c9Joe Onorato 2718d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato // info 272b9d36649ca458cb5326a144fd88e26b92efba728Daniel Sandler final CharSequence info = getRadioTag(R.id.group_info); 2738d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato if (!TextUtils.isEmpty(info)) { 2748d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato b.setContentInfo(info); 2758d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato } 2763f76aa7755fbb2e77ca6a648bbfa1f75680788c9Joe Onorato 2778d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato // number 2788d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato b.setNumber(getRadioInt(R.id.group_number, 0)); 2793f76aa7755fbb2e77ca6a648bbfa1f75680788c9Joe Onorato 2808d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato // contentIntent 2818d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato switch (getRadioChecked(R.id.group_intent)) { 2828d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.intent_none: 2838d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 2848d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.intent_alert: 2858d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato b.setContentIntent(makeContentIntent(id)); 2868d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 2878d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato } 2888595a3dd9a6feff70f8ddbad924d79b591d611e4Joe Onorato 2898d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato // deleteIntent 2908d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato switch (getRadioChecked(R.id.group_delete)) { 2918d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.delete_none: 2928d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 2938d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.delete_alert: 2948d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato b.setDeleteIntent(makeDeleteIntent(id)); 2958d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 2968d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato } 2978595a3dd9a6feff70f8ddbad924d79b591d611e4Joe Onorato 2988d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato // fullScreenIntent TODO 2998595a3dd9a6feff70f8ddbad924d79b591d611e4Joe Onorato 3008d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato // ticker 3018d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato switch (getRadioChecked(R.id.group_ticker)) { 3028d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.ticker_none: 3038d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 3048d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.ticker_short: 3058d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.ticker_wrap: 3068d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.ticker_haiku: 3078d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato b.setTicker(getRadioTag(R.id.group_ticker)); 3088d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 309b9d36649ca458cb5326a144fd88e26b92efba728Daniel Sandler case R.id.ticker_emoji: 310b9d36649ca458cb5326a144fd88e26b92efba728Daniel Sandler // UTF-16 for +1F335 311b9d36649ca458cb5326a144fd88e26b92efba728Daniel Sandler b.setTicker(subst(getRadioTag(R.id.group_ticker), 312b9d36649ca458cb5326a144fd88e26b92efba728Daniel Sandler '_', "\ud83c\udf35")); 313b9d36649ca458cb5326a144fd88e26b92efba728Daniel Sandler break; 3148d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.ticker_custom: 3158d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato // TODO 3168d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 3178d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato } 31846439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato 3198d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato // largeIcon 3208d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato switch (getRadioChecked(R.id.group_large_icon)) { 3218d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.large_icon_none: 3228d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 3238d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.large_icon_pineapple: 3248d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato b.setLargeIcon(loadBitmap(R.drawable.pineapple)); 3258d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 32680a44401a22344f7eabce6976372ab144ef22893Joe Onorato case R.id.large_icon_pineapple2: 32780a44401a22344f7eabce6976372ab144ef22893Joe Onorato b.setLargeIcon(loadBitmap(R.drawable.pineapple2)); 32880a44401a22344f7eabce6976372ab144ef22893Joe Onorato break; 329a3850b68399ab49032e1fc2a2eab129fe3a7e69eDaniel Sandler case R.id.large_icon_small: 330a3850b68399ab49032e1fc2a2eab129fe3a7e69eDaniel Sandler b.setLargeIcon(loadBitmap(R.drawable.icon2)); 331a3850b68399ab49032e1fc2a2eab129fe3a7e69eDaniel Sandler break; 3328d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato } 333561d3858bb9409b999a19f7ba93f0b12e1db835fJoe Onorato 3348d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato // sound TODO 335561d3858bb9409b999a19f7ba93f0b12e1db835fJoe Onorato 3368d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato // vibrate 3378d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato switch (getRadioChecked(R.id.group_vibrate)) { 3388d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.vibrate_none: 339205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler b.setVibrate(null); 3408d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 341205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler case R.id.vibrate_zero: 342205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler b.setVibrate(new long[] { 0 }); 3438d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 344205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler case R.id.vibrate_short: 345205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler b.setVibrate(new long[] { 0, 100 }); 3468d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 3478d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.vibrate_long: 3488d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato b.setVibrate(new long[] { 0, 1000 }); 3498d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 3508d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.vibrate_pattern: 351205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler b.setVibrate(new long[] { 0, 50, 200, 50, 200, 50, 500, 352205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler 500, 200, 500, 200, 500, 500, 353205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler 50, 200, 50, 200, 50 }); 3548d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 3558d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato } 3568d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato 3578d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato // lights 358205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler final int color = getRadioHex(R.id.group_lights_color, 0xff0000); 3598d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato int onMs; 3608d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato int offMs; 3618d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato switch (getRadioChecked(R.id.group_lights_blink)) { 3628d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.lights_slow: 3638d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato onMs = 1300; 3648d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato offMs = 1300; 3658d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 3668d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.lights_fast: 3678d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato onMs = 300; 3688d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato offMs = 300; 3698d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 3708d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.lights_on: 3718d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato onMs = 1; 3728d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato offMs = 0; 3738d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 3748d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato case R.id.lights_off: 3758d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato default: 3768d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato onMs = 0; 3778d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato offMs = 0; 3788d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato break; 3798d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato } 3808d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato if (onMs != 0 && offMs != 0) { 3818d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato b.setLights(color, onMs, offMs); 3828d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato } 3838d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato 384205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler // priority 385205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler switch (getRadioChecked(R.id.group_priority)) { 386205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler case R.id.pri_min: 387205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler b.setPriority(Notification.PRIORITY_MIN); 388205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler break; 389205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler case R.id.pri_low: 390205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler b.setPriority(Notification.PRIORITY_LOW); 391205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler break; 392205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler case R.id.pri_default: 393205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler b.setPriority(Notification.PRIORITY_DEFAULT); 394205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler break; 395205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler case R.id.pri_high: 396205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler b.setPriority(Notification.PRIORITY_HIGH); 397205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler break; 398205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler case R.id.pri_max: 399205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler b.setPriority(Notification.PRIORITY_MAX); 400205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler break; 401205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler } 402205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler 403205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler // start delay 404205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler switch (getRadioChecked(R.id.group_delay)) { 405205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler case R.id.delay_none: 406205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler mStartDelay = 0; 407205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler break; 408205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler case R.id.delay_5: 409205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler mStartDelay = 5000; 410205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler break; 411205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler } 412205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler 4138d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato // flags 4148d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato b.setOngoing(getChecked(R.id.flag_ongoing)); 4158d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato b.setOnlyAlertOnce(getChecked(R.id.flag_once)); 4168d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato b.setAutoCancel(getChecked(R.id.flag_auto_cancel)); 4178d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato 4188d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato // defaults 4198d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato int defaults = 0; 4208d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato if (getChecked(R.id.default_sound)) { 4218d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato defaults |= Notification.DEFAULT_SOUND; 4228d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato } 4238d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato if (getChecked(R.id.default_vibrate)) { 4248d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato defaults |= Notification.DEFAULT_VIBRATE; 4258d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato } 4268d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato if (getChecked(R.id.default_lights)) { 4278d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato defaults |= Notification.DEFAULT_LIGHTS; 4288d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato } 4298d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato b.setDefaults(defaults); 4308d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato 431205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler return b.build(); 432561d3858bb9409b999a19f7ba93f0b12e1db835fJoe Onorato } 433561d3858bb9409b999a19f7ba93f0b12e1db835fJoe Onorato 4348d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato private void setChecked(int id) { 4358d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato final CompoundButton b = (CompoundButton)findViewById(id); 4368d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato b.setChecked(true); 4378d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato } 4388d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato 4398d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato private int getRadioChecked(int id) { 4408d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato final RadioGroup g = (RadioGroup)findViewById(id); 4418d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato return g.getCheckedRadioButtonId(); 4428d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato } 4438d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato 444205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler private String getRadioTag(int id) { 4458d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato final RadioGroup g = (RadioGroup)findViewById(id); 4468d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato final View v = findViewById(g.getCheckedRadioButtonId()); 447205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler return (String) v.getTag(); 4488d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato } 4498d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato 4508d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato private int getRadioInt(int id, int def) { 451205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler String str = getRadioTag(id); 4528d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato if (TextUtils.isEmpty(str)) { 4538d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato return def; 4548d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato } else { 4558d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato try { 456b9d36649ca458cb5326a144fd88e26b92efba728Daniel Sandler return Integer.parseInt(str.toString()); 4578d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato } catch (NumberFormatException ex) { 4588d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato return def; 4598d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato } 4608d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato } 4618d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato } 4628d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato 463205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler private int getRadioHex(int id, int def) { 464205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler String str = getRadioTag(id); 465205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler if (TextUtils.isEmpty(str)) { 466205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler return def; 467205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler } else { 468205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler if (str.startsWith("0x")) { 469205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler str = str.substring(2); 470205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler } 471205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler try { 472205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler return Integer.parseInt(str.toString(), 16); 473205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler } catch (NumberFormatException ex) { 474205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler return def; 475205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler } 476205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler } 477205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler } 478205ec5a969963f563b30b37385362ccfebdd5e4cDaniel Sandler 4798d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato private boolean getChecked(int id) { 4808d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato final CompoundButton b = (CompoundButton)findViewById(id); 4818d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato return b.isChecked(); 4828d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato } 4838d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato 4848d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato private Bitmap loadBitmap(int id) { 4858d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato final BitmapDrawable bd = (BitmapDrawable)getResources().getDrawable(id); 4868d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato return Bitmap.createBitmap(bd.getBitmap()); 48746439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato } 48846439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato 48946439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato private PendingIntent makeDeleteIntent(int id) { 49046439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato Intent intent = new Intent(this, ConfirmationActivity.class); 49146439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato intent.setData(Uri.fromParts("content", "//status_bar_test/delete/" + id, null)); 49246439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato intent.putExtra(ConfirmationActivity.EXTRA_TITLE, "Delete intent"); 49346439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato intent.putExtra(ConfirmationActivity.EXTRA_TEXT, "id: " + id); 49446439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato return PendingIntent.getActivity(this, 0, intent, 0); 49546439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato } 4968d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato 4978d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato private PendingIntent makeContentIntent(int id) { 4988d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato Intent intent = new Intent(this, ConfirmationActivity.class); 4998d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato intent.setData(Uri.fromParts("content", "//status_bar_test/content/" + id, null)); 5008d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato intent.putExtra(ConfirmationActivity.EXTRA_TITLE, "Content intent"); 5018d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato intent.putExtra(ConfirmationActivity.EXTRA_TEXT, "id: " + id); 5028d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato return PendingIntent.getActivity(this, 0, intent, 0); 5038d0b655c496e9125fc8d289c4e5bc9a78297ba3dJoe Onorato } 50446439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato} 50546439cec0eb0da4d0f853f2d8712d0c00c98475bJoe Onorato 506