TouchpadSettings.java :  » Remote » gmote » org » gmote » client » android » Android Open Source

Android Open Source » Remote » gmote 
gmote » org » gmote » client » android » TouchpadSettings.java
/**
 * Copyright 2009 Marc Stogaitis and Mimi Sun
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.gmote.client.android;

import org.gmote.common.packet.AbstractPacket;

import android.app.Activity;
import android.app.Dialog;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;

public class TouchpadSettings extends Activity {
  public static final String MOUSE_SENSITIVITY_SETTINGS_KEY = "mouse_sensitivity";
  public static final String MOUSE_ACCELERATION_SETTINGS_KEY = "mouse_acceleration";
  
  View mContentView = null;
  ActivityUtil mUtil = null;
  
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    mUtil = new ActivityUtil();
    mUtil.onCreate(icicle, this);
    
  }

  @Override
  public void onStart() {
    super.onStart();
    mUtil.onStart(this);
    attachMediaView();
    
  }
  
  @Override
  public void onStop() {
    super.onStop();
    mUtil.onStop();
  }
  
  @Override
  public void onResume() {
    super.onResume();
    mUtil.onResume();
    
    SharedPreferences prefs = getSharedPreferences(GmoteClient.PREFS, MODE_WORLD_READABLE);
    int mouseSensitivityPref = prefs.getInt(TouchpadSettings.MOUSE_SENSITIVITY_SETTINGS_KEY, 50);
    setSeekBar(R.id.mouse_sensitivity_seek, mouseSensitivityPref);
    
    int mouseAccelerationPref = prefs.getInt(TouchpadSettings.MOUSE_ACCELERATION_SETTINGS_KEY, 50);
    setSeekBar(R.id.mouse_acceleration_seek, mouseAccelerationPref);
    
  }
  
  private void setSeekBar(int seekBarId, int seekBarValue) {
    ((SeekBar)findViewById(seekBarId)).setProgress(seekBarValue);
  }

  @Override
  public void onPause() {
    super.onPause();
    mUtil.onPause();
  }
 
  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);
    mUtil.onCreateOptionsMenu(menu);
    return true;
  }
  
  @Override
  public boolean onOptionsItemSelected(MenuItem item) {
    super.onOptionsItemSelected(item);
    return mUtil.onOptionsItemSelected(item);
  }
  
  @Override
  protected Dialog onCreateDialog(int id) {
    return mUtil.onCreateDialog(id);
  }

  public void handleReceivedPacket(AbstractPacket reply) {
    
  }
  
  private void attachMediaView() {
    int layoutId = R.layout.touchpad_settings;
    int viewId = R.id.touchpad_settings_view;

    setContentView(layoutId);
    mContentView = findViewById(viewId);
    
    ((SeekBar)findViewById(R.id.mouse_acceleration_seek)).setOnSeekBarChangeListener(new SeekBarListener());
    ((SeekBar)findViewById(R.id.mouse_sensitivity_seek)).setOnSeekBarChangeListener(new SeekBarListener());

    findViewById(R.id.touchpad_settings_ok).setOnClickListener(new OnClickListener() {
      public void onClick(View v) {
        mUtil.startActivityByClass(Touchpad.class);
      }
    });
    
    findViewById(R.id.touchpad_settings_defaults).setOnClickListener(new OnClickListener() {
      public void onClick(View v) {
       setSeekBar(R.id.mouse_acceleration_seek, 50);
       setSeekBar(R.id.mouse_sensitivity_seek, 50);
      }
    });
    
  }
  
  private class SeekBarListener implements OnSeekBarChangeListener {

    public void onProgressChanged(SeekBar seekBar, int progress, boolean fromTouch) {
      if (seekBar.getId() == R.id.mouse_acceleration_seek) {
        saveMousePreferences(MOUSE_ACCELERATION_SETTINGS_KEY, progress);
      } else {
        saveMousePreferences(MOUSE_SENSITIVITY_SETTINGS_KEY, progress);
      }
    }

    public void onStartTrackingTouch(SeekBar arg0) {
      
    }

    public void onStopTrackingTouch(SeekBar arg0) {
      
    }
  }
  
  private void saveMousePreferences(String preferenceName, int sensitivity) {
    SharedPreferences.Editor editor = getSharedPreferences(GmoteClient.PREFS,
        MODE_WORLD_WRITEABLE).edit();
    editor.putInt(preferenceName, sensitivity);
    editor.commit();
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.