OSDN Git Service

Check in code for Wallace Wang
[android-x86/packages-apps-AlarmClock.git] / src / com / android / alarmclock / AlarmClock.java
index 9804994..a25cd20 100644 (file)
@@ -26,6 +26,7 @@ import android.database.Cursor;
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.Handler;
+import android.os.SystemProperties;
 import android.provider.Settings;
 import android.view.ContextMenu;
 import android.view.ContextMenu.ContextMenuInfo;
@@ -39,7 +40,7 @@ import android.widget.CursorAdapter;
 import android.widget.ListView;
 import android.widget.TextView;
 import android.widget.CheckBox;
-
+import android.media.AudioManager;
 import java.util.Calendar;
 import java.text.DateFormatSymbols;
 
@@ -67,7 +68,7 @@ public class AlarmClock extends Activity {
     private MenuItem mToggleClockItem;
     private ListView mAlarmsList;
     private Cursor mCursor;
-
+    private static boolean volumeAdjustable;
     private String mAm, mPm;
 
     /**
@@ -204,7 +205,9 @@ public class AlarmClock extends Activity {
     @Override
     protected void onCreate(Bundle icicle) {
         super.onCreate(icicle);
-
+        volumeAdjustable=SystemProperties.getBoolean("ro.alarm.volume.adjustable",false);       
+        AlarmClock.setVolumeControlForPlatform(this);
+        
         String[] ampm = new DateFormatSymbols().getAmPmStrings();
         mAm = ampm[0];
         mPm = ampm[1];
@@ -356,4 +359,15 @@ public class AlarmClock extends Activity {
     private void saveClockVisibility() {
         mPrefs.edit().putBoolean(PREF_SHOW_CLOCK, getClockVisibility()).commit();
     }
+    public static void setVolumeControlForPlatform(Activity context){
+           if (isVolumeAdjustable()){
+               context.setVolumeControlStream(AudioManager.STREAM_ALARM);
+           }else{
+               //Use default stream type,the default type use a fixed volume
+               context.setVolumeControlStream(AudioManager.USE_DEFAULT_STREAM_TYPE);
+           }
+    }
+    public static boolean isVolumeAdjustable(){
+       return  volumeAdjustable;
+    }
 }