// AlarmClockActivity.java Copyright (c) Kari Laitinen // http://www.naturalprogramming.com/ // 2012-09-15 File created. // 2016-03-31 Last modification. /* This program displays a clock that is almost an alarm clock. The clock has: - an alarm hand that can be moved with a pointer or a finger - buttons for setting the alarm time and activating the alarm What is lacking in this alarm clock that it does not yet alarm. It is your task to improve this program so that it alarms and the alarming can be stopped somehow. This application consists of the following files: alarm/clock/AlarmClockActivity.java alarm/clock/AlarmClockView.java res/layout/activity_alarm_clock.xml */ package alarm.clock ; import android.app.Activity ; import android.os.Bundle ; import android.graphics.* ; // Classes Canvas, Color, Paint, RectF, etc. import android.view.* ; // Classes View, Display, WindowManager, etc. import android.widget.* ; import android.content.Context ; import java.util.Calendar ; import java.util.GregorianCalendar ; public class AlarmClockActivity extends Activity { AlarmClockView alarm_clock_view; public void onCreate( Bundle savedInstanceState ) { super.onCreate( savedInstanceState ) ; setContentView( R.layout.activity_alarm_clock ) ; alarm_clock_view = (AlarmClockView) findViewById( R.id.alarm_clock_view ) ; } public void onStart() { super.onStart() ; alarm_clock_view.start_animation_thread() ; } public void onStop() { super.onStop() ; alarm_clock_view.stop_animation_thread() ; } public void set_alarm_button_clicked( View view ) { Button set_alarm_button = (Button) view ; if ( set_alarm_button.getText().equals( "End Set Alarm" ) ) { // We are already setting the alarm. Let's stop it. set_alarm_button.setText( "Set Alarm" ) ; set_alarm_button.setTextColor( Color.BLACK ) ; alarm_clock_view.disable_alarm_time_setting() ; } else { set_alarm_button.setText( "End Set Alarm" ) ; set_alarm_button.setTextColor( Color.RED ) ; alarm_clock_view.enable_alarm_time_setting() ; } } public void activate_alarm_button_clicked( View view ) { } }