150a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby/*
250a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby * Copyright (C) 2011 The Android Open Source Project
350a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby *
450a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby * Licensed under the Apache License, Version 2.0 (the "License");
550a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby * you may not use this file except in compliance with the License.
650a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby * You may obtain a copy of the License at
750a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby *
850a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby *      http://www.apache.org/licenses/LICENSE-2.0
950a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby *
1050a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby * Unless required by applicable law or agreed to in writing, software
1150a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby * distributed under the License is distributed on an "AS IS" BASIS,
1250a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1350a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby * See the License for the specific language governing permissions and
1450a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby * limitations under the License.
1550a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby */
1650a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby
1750a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hambypackage com.android.cellbroadcastreceiver.tests;
1850a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby
1950a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hambyimport android.app.Activity;
2050a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hambyimport android.os.Bundle;
2150a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hambyimport android.os.Handler;
2250a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hambyimport android.os.Message;
2357273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hambyimport android.util.Log;
2450a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hambyimport android.view.View;
2550a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hambyimport android.view.View.OnClickListener;
2650a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hambyimport android.widget.Button;
2750a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hambyimport android.widget.CheckBox;
2857273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hambyimport android.widget.EditText;
2957273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby
3057273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hambyimport java.util.Random;
3150a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby
3250a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby/**
3350a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby * Activity to send test cell broadcast messages from GUI.
3450a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby */
3550a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hambypublic class SendTestBroadcastActivity extends Activity {
3657273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby    private static final String TAG = "SendTestBroadcastActivity";
3750a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby
3850a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby    /** Whether to delay before sending test message. */
3950a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby    private boolean mDelayBeforeSending;
4050a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby
4150a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby    /** Delay time before sending test message (when box is checked). */
4250a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby    private static final int DELAY_BEFORE_SENDING_MSEC = 5000;
4350a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby
4457273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby    private final Handler mDelayHandler = new Handler() {
4550a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        @Override
4650a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        public void handleMessage(Message msg) {
4750a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            // call the onClick() method again, passing null View.
4850a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            // The callback will ignore mDelayBeforeSending when the View is null.
4957273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby            OnClickListener pendingButtonClick = (OnClickListener) msg.obj;
5057273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby            pendingButtonClick.onClick(null);
5150a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        }
5250a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby    };
5350a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby
5457273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby    /**
5557273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby     * Increment the message ID field and return the previous value.
5657273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby     * @return the current value of the message ID text field
5757273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby     */
5857273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby    private int getMessageId() {
5957273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby        EditText messageIdField = (EditText) findViewById(R.id.message_id);
6057273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby        int messageId = 0;
6157273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby        try {
6257273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby            messageId = Integer.parseInt(messageIdField.getText().toString());
6357273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby        } catch (NumberFormatException ignored) {
6457273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby            Log.e(TAG, "Invalid message ID");
6557273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby        }
6657273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby        int newMessageId = (messageId + 1) % 65536;
6757273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby        if (newMessageId == 0) {
6857273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby            newMessageId = 1;
6957273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby        }
7057273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby        messageIdField.setText(String.valueOf(newMessageId));
7157273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby        return messageId;
7257273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby    }
7350a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby
7450a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby    /**
758524c0a36abccf29818d6e18c1080208cfee3ec4Jake Hamby     * Return the value of the category field.
768524c0a36abccf29818d6e18c1080208cfee3ec4Jake Hamby     * @return the current value of the category text field
778524c0a36abccf29818d6e18c1080208cfee3ec4Jake Hamby     */
788524c0a36abccf29818d6e18c1080208cfee3ec4Jake Hamby    private int getCategory() {
798524c0a36abccf29818d6e18c1080208cfee3ec4Jake Hamby        EditText categoryField = (EditText) findViewById(R.id.category_id);
808524c0a36abccf29818d6e18c1080208cfee3ec4Jake Hamby        return Integer.parseInt(categoryField.getText().toString());
818524c0a36abccf29818d6e18c1080208cfee3ec4Jake Hamby    }
828524c0a36abccf29818d6e18c1080208cfee3ec4Jake Hamby
838524c0a36abccf29818d6e18c1080208cfee3ec4Jake Hamby    /**
8450a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby     * Initialization of the Activity after it is first created.  Must at least
8550a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby     * call {@link android.app.Activity#setContentView(int)} to
8650a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby     * describe what is to be displayed in the screen.
8750a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby     */
8850a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby    @Override
8950a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby    protected void onCreate(Bundle savedInstanceState) {
9050a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        super.onCreate(savedInstanceState);
9150a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby
9250a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        setContentView(R.layout.test_buttons);
9357273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby
9457273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby        /* Set message ID to a random value from 1-65535. */
9557273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby        EditText messageIdField = (EditText) findViewById(R.id.message_id);
9657273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby        messageIdField.setText(String.valueOf(new Random().nextInt(65535) + 1));
978524c0a36abccf29818d6e18c1080208cfee3ec4Jake Hamby
988524c0a36abccf29818d6e18c1080208cfee3ec4Jake Hamby        /* When category ID is non-zero, use it for the GSM/UMTS message identifier. */
998524c0a36abccf29818d6e18c1080208cfee3ec4Jake Hamby        EditText categoryIdField = (EditText) findViewById(R.id.category_id);
1008524c0a36abccf29818d6e18c1080208cfee3ec4Jake Hamby        categoryIdField.setText("0");
1018524c0a36abccf29818d6e18c1080208cfee3ec4Jake Hamby
102e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu        /* Send an ETWS earthquake broadcast message to app. */
103e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu        Button etwsEarthquakeTypeButton = (Button) findViewById(R.id.button_etws_earthquake_type);
104e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu        etwsEarthquakeTypeButton.setOnClickListener(new OnClickListener() {
10550a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            public void onClick(View v) {
10650a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                if (mDelayBeforeSending && v != null) {
10757273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    Message msg = mDelayHandler.obtainMessage(0, this);
10857273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    mDelayHandler.sendMessageDelayed(msg, DELAY_BEFORE_SENDING_MSEC);
10950a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                } else {
110e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu                    SendTestMessages.testSendEtwsMessageEarthquake(SendTestBroadcastActivity.this,
111c332d9a1879e29440f9f47ac6b1767d2f4b9c797Jack Yu                            getMessageId());
11250a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                }
11350a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            }
11450a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        });
11550a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby
116e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu        /* Send an ETWS tsunami broadcast message to app. */
117e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu        Button etwsTsunamiTypeButton = (Button) findViewById(R.id.button_etws_tsunami_type);
118e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu        etwsTsunamiTypeButton.setOnClickListener(new OnClickListener() {
119e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu            public void onClick(View v) {
120e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu                if (mDelayBeforeSending && v != null) {
121e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu                    Message msg = mDelayHandler.obtainMessage(0, this);
122e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu                    mDelayHandler.sendMessageDelayed(msg, DELAY_BEFORE_SENDING_MSEC);
123e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu                } else {
124e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu                    SendTestMessages.testSendEtwsMessageTsunami(SendTestBroadcastActivity.this,
125e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu                            getMessageId());
126e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu                }
127e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu            }
128e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu        });
129e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu
130e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu        /* Send an ETWS earthquake and tsunami broadcast message to app. */
131e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu        Button etwsEarthquakeTsunamiTypeButton = (Button)
132e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu                findViewById(R.id.button_etws_earthquake_tsunami_type);
133e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu        etwsEarthquakeTsunamiTypeButton.setOnClickListener(new OnClickListener() {
134e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu            public void onClick(View v) {
135e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu                if (mDelayBeforeSending && v != null) {
136e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu                    Message msg = mDelayHandler.obtainMessage(0, this);
137e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu                    mDelayHandler.sendMessageDelayed(msg, DELAY_BEFORE_SENDING_MSEC);
138e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu                } else {
139e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu                    SendTestMessages.testSendEtwsMessageEarthquakeTsunami(
140e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu                            SendTestBroadcastActivity.this, getMessageId());
141e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu                }
142e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu            }
143e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu        });
144e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu
145e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu        /* Send an ETWS other emergency broadcast message to app. */
146e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu        Button etwsOtherTypeButton = (Button) findViewById(R.id.button_etws_other_type);
147e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu        etwsOtherTypeButton.setOnClickListener(new OnClickListener() {
148e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu            public void onClick(View v) {
149e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu                if (mDelayBeforeSending && v != null) {
150e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu                    Message msg = mDelayHandler.obtainMessage(0, this);
151e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu                    mDelayHandler.sendMessageDelayed(msg, DELAY_BEFORE_SENDING_MSEC);
152e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu                } else {
153e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu                    SendTestMessages.testSendEtwsMessageOther(
154e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu                            SendTestBroadcastActivity.this, getMessageId());
155e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu                }
156e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu            }
157e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu        });
158e7de1a7cb4655bcda5669782fd60d51de7a95068Jack Yu
15950a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        /* Send an ETWS cancel broadcast message to app. */
16050a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        Button etwsCancelTypeButton = (Button) findViewById(R.id.button_etws_cancel_type);
16150a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        etwsCancelTypeButton.setOnClickListener(new OnClickListener() {
16250a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            public void onClick(View v) {
16350a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                if (mDelayBeforeSending && v != null) {
16457273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    Message msg = mDelayHandler.obtainMessage(0, this);
16557273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    mDelayHandler.sendMessageDelayed(msg, DELAY_BEFORE_SENDING_MSEC);
16650a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                } else {
1678524c0a36abccf29818d6e18c1080208cfee3ec4Jake Hamby                    SendTestMessages.testSendEtwsMessageCancel(SendTestBroadcastActivity.this,
168c332d9a1879e29440f9f47ac6b1767d2f4b9c797Jack Yu                            getMessageId());
16950a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                }
17050a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            }
17150a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        });
17250a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby
17350a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        /* Send an ETWS test broadcast message to app. */
17450a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        Button etwsTestTypeButton = (Button) findViewById(R.id.button_etws_test_type);
17550a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        etwsTestTypeButton.setOnClickListener(new OnClickListener() {
17650a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            public void onClick(View v) {
17750a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                if (mDelayBeforeSending && v != null) {
17857273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    Message msg = mDelayHandler.obtainMessage(0, this);
17957273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    mDelayHandler.sendMessageDelayed(msg, DELAY_BEFORE_SENDING_MSEC);
18050a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                } else {
1818524c0a36abccf29818d6e18c1080208cfee3ec4Jake Hamby                    SendTestMessages.testSendEtwsMessageTest(SendTestBroadcastActivity.this,
182c332d9a1879e29440f9f47ac6b1767d2f4b9c797Jack Yu                            getMessageId());
18350a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                }
18450a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            }
18550a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        });
18650a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby
18700b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby        /* Send a CMAS presidential alert to app. */
18800b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby        Button cmasPresAlertButton = (Button) findViewById(R.id.button_cmas_pres_alert);
18900b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby        cmasPresAlertButton.setOnClickListener(new OnClickListener() {
19000b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby            public void onClick(View v) {
19100b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby                if (mDelayBeforeSending && v != null) {
19257273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    Message msg = mDelayHandler.obtainMessage(0, this);
19357273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    mDelayHandler.sendMessageDelayed(msg, DELAY_BEFORE_SENDING_MSEC);
19400b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby                } else {
19557273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    SendCdmaCmasMessages.testSendCmasPresAlert(SendTestBroadcastActivity.this,
196c332d9a1879e29440f9f47ac6b1767d2f4b9c797Jack Yu                            getMessageId());
19700b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby                }
19800b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby            }
19900b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby        });
20000b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby
20100b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby        /* Send a CMAS extreme alert to app. */
20200b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby        Button cmasExtremeAlertButton = (Button) findViewById(R.id.button_cmas_extreme_alert);
20300b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby        cmasExtremeAlertButton.setOnClickListener(new OnClickListener() {
20400b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby            public void onClick(View v) {
20500b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby                if (mDelayBeforeSending && v != null) {
20657273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    Message msg = mDelayHandler.obtainMessage(0, this);
20757273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    mDelayHandler.sendMessageDelayed(msg, DELAY_BEFORE_SENDING_MSEC);
20800b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby                } else {
20957273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    SendCdmaCmasMessages.testSendCmasExtremeAlert(SendTestBroadcastActivity.this,
210c332d9a1879e29440f9f47ac6b1767d2f4b9c797Jack Yu                            getMessageId());
21100b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby                }
21200b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby            }
21300b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby        });
21400b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby
21500b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby        /* Send a CMAS severe alert to app. */
21600b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby        Button cmasSevereAlertButton = (Button) findViewById(R.id.button_cmas_severe_alert);
21700b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby        cmasSevereAlertButton.setOnClickListener(new OnClickListener() {
21800b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby            public void onClick(View v) {
21900b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby                if (mDelayBeforeSending && v != null) {
22057273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    Message msg = mDelayHandler.obtainMessage(0, this);
22157273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    mDelayHandler.sendMessageDelayed(msg, DELAY_BEFORE_SENDING_MSEC);
22200b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby                } else {
22357273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    SendCdmaCmasMessages.testSendCmasSevereAlert(SendTestBroadcastActivity.this,
224c332d9a1879e29440f9f47ac6b1767d2f4b9c797Jack Yu                            getMessageId());
22500b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby                }
22600b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby            }
22700b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby        });
22800b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby
22900b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby        /* Send a CMAS AMBER alert to app. */
23000b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby        Button cmasAmberAlertButton = (Button) findViewById(R.id.button_cmas_amber_alert);
23100b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby        cmasAmberAlertButton.setOnClickListener(new OnClickListener() {
23200b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby            public void onClick(View v) {
23300b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby                if (mDelayBeforeSending && v != null) {
23457273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    Message msg = mDelayHandler.obtainMessage(0, this);
23557273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    mDelayHandler.sendMessageDelayed(msg, DELAY_BEFORE_SENDING_MSEC);
23600b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby                } else {
23757273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    SendCdmaCmasMessages.testSendCmasAmberAlert(SendTestBroadcastActivity.this,
238c332d9a1879e29440f9f47ac6b1767d2f4b9c797Jack Yu                            getMessageId());
23900b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby                }
24000b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby            }
24100b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby        });
24200b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby
24300b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby        /* Send a CMAS monthly test alert to app. */
24400b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby        Button cmasMonthlyTestButton = (Button) findViewById(R.id.button_cmas_monthly_test);
24500b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby        cmasMonthlyTestButton.setOnClickListener(new OnClickListener() {
24600b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby            public void onClick(View v) {
24700b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby                if (mDelayBeforeSending && v != null) {
24857273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    Message msg = mDelayHandler.obtainMessage(0, this);
24957273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    mDelayHandler.sendMessageDelayed(msg, DELAY_BEFORE_SENDING_MSEC);
25000b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby                } else {
25157273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    SendCdmaCmasMessages.testSendCmasMonthlyTest(SendTestBroadcastActivity.this,
252c332d9a1879e29440f9f47ac6b1767d2f4b9c797Jack Yu                            getMessageId());
25300b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby                }
25400b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby            }
25500b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby        });
25600b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby
25750a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        /* Send a GSM 7-bit broadcast message to app. */
25850a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        Button gsm7bitTypeButton = (Button) findViewById(R.id.button_gsm_7bit_type);
25950a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        gsm7bitTypeButton.setOnClickListener(new OnClickListener() {
26050a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            public void onClick(View v) {
26150a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                if (mDelayBeforeSending && v != null) {
26257273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    Message msg = mDelayHandler.obtainMessage(0, this);
26357273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    mDelayHandler.sendMessageDelayed(msg, DELAY_BEFORE_SENDING_MSEC);
26450a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                } else {
2658524c0a36abccf29818d6e18c1080208cfee3ec4Jake Hamby                    SendTestMessages.testSendMessage7bit(SendTestBroadcastActivity.this,
266c332d9a1879e29440f9f47ac6b1767d2f4b9c797Jack Yu                            getMessageId(), getCategory());
26750a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                }
26850a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            }
26950a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        });
27050a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby
27150a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        /* Send a UMTS 7-bit broadcast message to app. */
27250a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        Button gsm7bitUmtsTypeButton = (Button) findViewById(R.id.button_gsm_7bit_umts_type);
27350a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        gsm7bitUmtsTypeButton.setOnClickListener(new OnClickListener() {
27450a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            public void onClick(View v) {
27550a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                if (mDelayBeforeSending && v != null) {
27657273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    Message msg = mDelayHandler.obtainMessage(0, this);
27757273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    mDelayHandler.sendMessageDelayed(msg, DELAY_BEFORE_SENDING_MSEC);
27850a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                } else {
2798524c0a36abccf29818d6e18c1080208cfee3ec4Jake Hamby                    SendTestMessages.testSendMessage7bitUmts(SendTestBroadcastActivity.this,
280c332d9a1879e29440f9f47ac6b1767d2f4b9c797Jack Yu                            getMessageId(), getCategory());
28150a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                }
28250a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            }
28350a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        });
28450a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby
28550a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        /* Send a GSM 7-bit no padding broadcast message to app. */
28650a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        Button gsm7bitNoPaddingButton = (Button) findViewById(R.id.button_gsm_7bit_nopadding_type);
28750a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        gsm7bitNoPaddingButton.setOnClickListener(new OnClickListener() {
28850a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            public void onClick(View v) {
28950a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                if (mDelayBeforeSending && v != null) {
29057273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    Message msg = mDelayHandler.obtainMessage(0, this);
29157273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    mDelayHandler.sendMessageDelayed(msg, DELAY_BEFORE_SENDING_MSEC);
29250a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                } else {
2938524c0a36abccf29818d6e18c1080208cfee3ec4Jake Hamby                    SendTestMessages.testSendMessage7bitNoPadding(SendTestBroadcastActivity.this,
294c332d9a1879e29440f9f47ac6b1767d2f4b9c797Jack Yu                            getMessageId(), getCategory());
29550a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                }
29650a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            }
29750a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        });
29850a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby
29950a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        /* Send a UMTS 7-bit no padding broadcast message to app. */
30050a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        Button gsm7bitNoPaddingUmtsTypeButton =
30150a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                (Button) findViewById(R.id.button_gsm_7bit_nopadding_umts_type);
30250a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        gsm7bitNoPaddingUmtsTypeButton.setOnClickListener(new OnClickListener() {
30350a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            public void onClick(View v) {
30450a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                if (mDelayBeforeSending && v != null) {
30557273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    Message msg = mDelayHandler.obtainMessage(0, this);
30657273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    mDelayHandler.sendMessageDelayed(msg, DELAY_BEFORE_SENDING_MSEC);
30750a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                } else {
3088524c0a36abccf29818d6e18c1080208cfee3ec4Jake Hamby                    SendTestMessages.testSendMessage7bitNoPaddingUmts(
309c332d9a1879e29440f9f47ac6b1767d2f4b9c797Jack Yu                            SendTestBroadcastActivity.this, getMessageId(), getCategory());
31050a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                }
31150a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            }
31250a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        });
31350a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby
31450a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        /* Send a UMTS 7-bit multi-page broadcast message to app. */
31550a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        Button gsm7bitMultipageButton =
31650a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                (Button) findViewById(R.id.button_gsm_7bit_multipage_type);
31750a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        gsm7bitMultipageButton.setOnClickListener(new OnClickListener() {
31850a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            public void onClick(View v) {
31950a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                if (mDelayBeforeSending && v != null) {
32057273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    Message msg = mDelayHandler.obtainMessage(0, this);
32157273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    mDelayHandler.sendMessageDelayed(msg, DELAY_BEFORE_SENDING_MSEC);
32250a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                } else {
3238524c0a36abccf29818d6e18c1080208cfee3ec4Jake Hamby                    SendTestMessages.testSendMessage7bitMultipageGsm(SendTestBroadcastActivity.this,
324c332d9a1879e29440f9f47ac6b1767d2f4b9c797Jack Yu                            getMessageId(), getCategory());
32550a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                }
32650a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            }
32750a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        });
32850a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby
32950a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        /* Send a UMTS 7-bit multi-page broadcast message to app. */
33050a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        Button gsm7bitMultipageUmtsButton =
33150a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                (Button) findViewById(R.id.button_gsm_7bit_multipage_umts_type);
33250a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        gsm7bitMultipageUmtsButton.setOnClickListener(new OnClickListener() {
33350a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            public void onClick(View v) {
33450a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                if (mDelayBeforeSending && v != null) {
33557273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    Message msg = mDelayHandler.obtainMessage(0, this);
33657273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    mDelayHandler.sendMessageDelayed(msg, DELAY_BEFORE_SENDING_MSEC);
33750a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                } else {
3388524c0a36abccf29818d6e18c1080208cfee3ec4Jake Hamby                    SendTestMessages.testSendMessage7bitMultipageUmts(
339c332d9a1879e29440f9f47ac6b1767d2f4b9c797Jack Yu                            SendTestBroadcastActivity.this, getMessageId(), getCategory());
34050a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                }
34150a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            }
34250a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        });
34350a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby
34450a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        /* Send a GSM 7-bit broadcast message with language to app. */
34550a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        Button gsm7bitWithLanguageButton =
34650a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                (Button) findViewById(R.id.button_gsm_7bit_with_language_type);
34750a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        gsm7bitWithLanguageButton.setOnClickListener(new OnClickListener() {
34850a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            public void onClick(View v) {
34950a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                if (mDelayBeforeSending && v != null) {
35057273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    Message msg = mDelayHandler.obtainMessage(0, this);
35157273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    mDelayHandler.sendMessageDelayed(msg, DELAY_BEFORE_SENDING_MSEC);
35250a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                } else {
3538524c0a36abccf29818d6e18c1080208cfee3ec4Jake Hamby                    SendTestMessages.testSendMessage7bitWithLanguage(SendTestBroadcastActivity.this,
354c332d9a1879e29440f9f47ac6b1767d2f4b9c797Jack Yu                            getMessageId(), getCategory());
35550a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                }
35650a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            }
35750a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        });
35850a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby
35900b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby        /* Send a GSM 7-bit broadcast message with language to app. */
36000b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby        Button gsm7bitWithLanguageInBodyButton =
36100b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby                (Button) findViewById(R.id.button_gsm_7bit_with_language_body_gsm_type);
36200b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby        gsm7bitWithLanguageInBodyButton.setOnClickListener(new OnClickListener() {
36300b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby            public void onClick(View v) {
36400b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby                if (mDelayBeforeSending && v != null) {
36557273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    Message msg = mDelayHandler.obtainMessage(0, this);
36657273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    mDelayHandler.sendMessageDelayed(msg, DELAY_BEFORE_SENDING_MSEC);
36700b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby                } else {
36800b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby                    SendTestMessages.testSendMessage7bitWithLanguageInBody(
369c332d9a1879e29440f9f47ac6b1767d2f4b9c797Jack Yu                            SendTestBroadcastActivity.this, getMessageId(), getCategory());
37000b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby                }
37100b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby            }
37200b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby        });
37300b87064abfb9d254fbbf72110643d2e626365e6Jake Hamby
37450a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        /* Send a UMTS 7-bit broadcast message with language to app. */
37550a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        Button gsm7bitWithLanguageUmtsButton =
37650a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                (Button) findViewById(R.id.button_gsm_7bit_with_language_body_umts_type);
37750a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        gsm7bitWithLanguageUmtsButton.setOnClickListener(new OnClickListener() {
37850a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            public void onClick(View v) {
37950a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                if (mDelayBeforeSending && v != null) {
38057273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    Message msg = mDelayHandler.obtainMessage(0, this);
38157273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    mDelayHandler.sendMessageDelayed(msg, DELAY_BEFORE_SENDING_MSEC);
38250a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                } else {
3838524c0a36abccf29818d6e18c1080208cfee3ec4Jake Hamby                    SendTestMessages.testSendMessage7bitWithLanguageInBodyUmts(
384c332d9a1879e29440f9f47ac6b1767d2f4b9c797Jack Yu                            SendTestBroadcastActivity.this, getMessageId(), getCategory());
38550a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                }
38650a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            }
38750a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        });
38850a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby
38950a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        /* Send a GSM UCS-2 broadcast message to app. */
39050a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        Button gsmUcs2TypeButton = (Button) findViewById(R.id.button_gsm_ucs2_type);
39150a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        gsmUcs2TypeButton.setOnClickListener(new OnClickListener() {
39250a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            public void onClick(View v) {
39350a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                if (mDelayBeforeSending && v != null) {
39457273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    Message msg = mDelayHandler.obtainMessage(0, this);
39557273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    mDelayHandler.sendMessageDelayed(msg, DELAY_BEFORE_SENDING_MSEC);
39650a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                } else {
3978524c0a36abccf29818d6e18c1080208cfee3ec4Jake Hamby                    SendTestMessages.testSendMessageUcs2(SendTestBroadcastActivity.this,
398c332d9a1879e29440f9f47ac6b1767d2f4b9c797Jack Yu                            getMessageId(), getCategory());
39950a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                }
40050a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            }
40150a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        });
40250a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby
40350a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        /* Send a UMTS UCS-2 broadcast message to app. */
40450a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        Button gsmUcs2UmtsTypeButton = (Button) findViewById(R.id.button_gsm_ucs2_umts_type);
40550a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        gsmUcs2UmtsTypeButton.setOnClickListener(new OnClickListener() {
40650a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            public void onClick(View v) {
40750a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                if (mDelayBeforeSending && v != null) {
40857273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    Message msg = mDelayHandler.obtainMessage(0, this);
40957273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    mDelayHandler.sendMessageDelayed(msg, DELAY_BEFORE_SENDING_MSEC);
41050a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                } else {
4118524c0a36abccf29818d6e18c1080208cfee3ec4Jake Hamby                    SendTestMessages.testSendMessageUcs2Umts(SendTestBroadcastActivity.this,
412c332d9a1879e29440f9f47ac6b1767d2f4b9c797Jack Yu                            getMessageId(), getCategory());
41350a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                }
41450a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            }
41550a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        });
41650a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby
41750a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        /* Send a UMTS UCS-2 multipage broadcast message to app. */
41850a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        Button gsmUcs2MultipageUmtsTypeButton =
41950a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                (Button) findViewById(R.id.button_gsm_ucs2_multipage_umts_type);
42050a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        gsmUcs2MultipageUmtsTypeButton.setOnClickListener(new OnClickListener() {
42150a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            public void onClick(View v) {
42250a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                if (mDelayBeforeSending && v != null) {
42357273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    Message msg = mDelayHandler.obtainMessage(0, this);
42457273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    mDelayHandler.sendMessageDelayed(msg, DELAY_BEFORE_SENDING_MSEC);
42550a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                } else {
4268524c0a36abccf29818d6e18c1080208cfee3ec4Jake Hamby                    SendTestMessages.testSendMessageUcs2MultipageUmts(
427c332d9a1879e29440f9f47ac6b1767d2f4b9c797Jack Yu                            SendTestBroadcastActivity.this, getMessageId(), getCategory());
42850a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                }
42950a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            }
43050a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        });
43150a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby
43250a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        /* Send a GSM UCS-2 broadcast message with language to app. */
43350a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        Button gsmUcs2WithLanguageTypeButton =
43450a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                (Button) findViewById(R.id.button_gsm_ucs2_with_language_type);
43550a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        gsmUcs2WithLanguageTypeButton.setOnClickListener(new OnClickListener() {
43650a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            public void onClick(View v) {
43750a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                if (mDelayBeforeSending && v != null) {
43857273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    Message msg = mDelayHandler.obtainMessage(0, this);
43957273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    mDelayHandler.sendMessageDelayed(msg, DELAY_BEFORE_SENDING_MSEC);
44050a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                } else {
4418524c0a36abccf29818d6e18c1080208cfee3ec4Jake Hamby                    SendTestMessages.testSendMessageUcs2WithLanguageInBody(
442c332d9a1879e29440f9f47ac6b1767d2f4b9c797Jack Yu                            SendTestBroadcastActivity.this, getMessageId(), getCategory());
44350a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                }
44450a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            }
44550a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        });
44650a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby
44750a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        /* Send a UMTS UCS-2 broadcast message with language to app. */
44850a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        Button gsmUcs2WithLanguageUmtsTypeButton =
44950a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                (Button) findViewById(R.id.button_gsm_ucs2_with_language_umts_type);
45050a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        gsmUcs2WithLanguageUmtsTypeButton.setOnClickListener(new OnClickListener() {
45150a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            public void onClick(View v) {
45250a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                if (mDelayBeforeSending && v != null) {
45357273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    Message msg = mDelayHandler.obtainMessage(0, this);
45457273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby                    mDelayHandler.sendMessageDelayed(msg, DELAY_BEFORE_SENDING_MSEC);
45550a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                } else {
4568524c0a36abccf29818d6e18c1080208cfee3ec4Jake Hamby                    SendTestMessages.testSendMessageUcs2WithLanguageUmts(
457c332d9a1879e29440f9f47ac6b1767d2f4b9c797Jack Yu                            SendTestBroadcastActivity.this, getMessageId(), getCategory());
45850a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                }
45950a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            }
46050a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        });
46150a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby
46250a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        /* Update boolean to delay before sending when box is checked. */
46350a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        final CheckBox delayCheckbox = (CheckBox) findViewById(R.id.button_delay_broadcast);
46450a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        delayCheckbox.setOnClickListener(new OnClickListener() {
46550a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            public void onClick(View v) {
46650a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby                mDelayBeforeSending = delayCheckbox.isChecked();
46750a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby            }
46850a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby        });
46950a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby    }
47050a624a47ce645a7992e346e40a4e7ec5e0df9b7Jake Hamby}
471