1 /*
2  * Copyright (C) 2012 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
5  * in compliance with the License. You may obtain a copy of the License at
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software distributed under the License
10  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
11  * or implied. See the License for the specific language governing permissions and limitations under
12  * the License.
13  */
14 
15 package com.example.android.pingme;
16 
17 import android.app.Activity;
18 import android.content.Intent;
19 import android.os.Bundle;
20 import android.view.View;
21 import android.widget.EditText;
22 import android.widget.Toast;
23 
24 public class MainActivity extends Activity {
25 
26     private Intent mServiceIntent;
27 
28     @Override
onCreate(Bundle savedInstanceState)29     public void onCreate(Bundle savedInstanceState) {
30         super.onCreate(savedInstanceState);
31         setContentView(R.layout.activity_main);
32 
33         // Creates an explicit Intent to start the service that constructs and
34         // issues the notification.
35         mServiceIntent = new Intent(getApplicationContext(), PingService.class);
36     }
37 
38     /*
39      * Gets the values the user entered and adds them to the intent that will be
40      * used to launch the IntentService that runs the timer and issues the
41      * notification.
42      */
onPingClick(View v)43     public void onPingClick(View v) {
44         int seconds;
45 
46         // Gets the reminder text the user entered.
47         EditText msgText = (EditText) findViewById(R.id.edit_reminder);
48         String message = msgText.getText().toString();
49 
50         mServiceIntent.putExtra(CommonConstants.EXTRA_MESSAGE, message);
51         mServiceIntent.setAction(CommonConstants.ACTION_PING);
52         Toast.makeText(this, R.string.timer_start, Toast.LENGTH_SHORT).show();
53 
54         // The number of seconds the timer should run.
55         EditText editText = (EditText)findViewById(R.id.edit_seconds);
56         String input = editText.getText().toString();
57 
58         if(input == null || input.trim().equals("")){
59             // If user didn't enter a value, sets to default.
60             seconds = R.string.seconds_default;
61         } else {
62             seconds = Integer.parseInt(input);
63         }
64         int milliseconds = (seconds * 1000);
65         mServiceIntent.putExtra(CommonConstants.EXTRA_TIMER, milliseconds);
66         // Launches IntentService "PingService" to set timer.
67         startService(mServiceIntent);
68     }
69 }
70