Android Open Source - screenstandby X Top D P I Changer






From Project

Back to project page screenstandby.

License

The source code is released under:

GNU General Public License

If you think the Android project screenstandby listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*******************************************************************************
 * Copyright (c) 2014 Hoang Nguyen./*w  w w.java 2s .c om*/
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the GNU Public License v2.0
 * which accompanies this distribution, and is available at
 * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
 * 
 * Contributors:
 *     Hoang Nguyen - initial API and implementation
 ******************************************************************************/
package com.nkahoang.screenstandby;

import java.io.DataOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import android.os.Bundle;
import android.os.Parcelable;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.RadioButton;
import android.widget.TextView;

public class XTopDPIChanger extends Activity {
  RadioButton rb120, rb240, rbCustom;
  TextView txtDPI, txtCurrentDPI;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if (getIntent().getStringExtra("DPI") != null) {
          ChangeDPI(getIntent().getStringExtra("DPI"));
          this.finish();
        }
        else {
            setContentView(R.layout.activity_xtop_dpichanger);
          rb120 = (RadioButton) this.findViewById(R.id.rb120);
          rb240 = (RadioButton) this.findViewById(R.id.rb240);
          rbCustom = (RadioButton) this.findViewById(R.id.rbCustom);
          txtDPI = (TextView) this.findViewById(R.id.txtCustomDPI);
          txtCurrentDPI = (TextView) this.findViewById(R.id.txtCurrentDPI);
          txtCurrentDPI.setText("Current DPI: " + (int)getResources().getDisplayMetrics().xdpi);
          rbCustom.setOnCheckedChangeListener(new OnCheckedChangeListener() {

      @Override
      public void onCheckedChanged(CompoundButton buttonView,
          boolean isChecked) {
        txtDPI.setEnabled(isChecked);
      }});
          
          Button btnCreate = (Button) this.findViewById(R.id.btnCreateDPI);
          btnCreate.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
          Intent serviceIntent = new Intent(Intent.ACTION_MAIN);
              ComponentName name = new ComponentName(getPackageName(), ".XTopDPIChanger");
              serviceIntent.setComponent(name);
              serviceIntent.putExtra("DPI", getDPI());
              Intent shortcutintent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
              shortcutintent.putExtra("duplicate", false);
              shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getDPI() + "DPI");
              Parcelable icon = Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.ic_launcher);
              shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
              shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, serviceIntent);
              sendBroadcast(shortcutintent);
        }});

          ((Button) this.findViewById(R.id.btnChangeDPI)).setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
          ChangeDPI(getDPI());
        }});
        }
    }

    public String getDPI()
    {
      if (rb120.isChecked()) return "120";
      else if (rb240.isChecked()) return "240";
      else if (rbCustom.isChecked())
      {
        int dpi = (int)getResources().getDisplayMetrics().xdpi; 
        try
        {
          dpi = Integer.parseInt((String) txtDPI.getText());
          if ((dpi > 0) && (dpi < 400))
          {
            return dpi + "";
          }
        }
        catch(Exception e)
        {
          
        }
      }
      return getResources().getDisplayMetrics().xdpi + ""; 
    }
    
    private void ChangeDPI(String NewDPI)
    {
      try
      {
        String newFileName = "/data/data/" + this.getPackageName() + "/DPIChanger";
      File myFile = new File(newFileName);
      myFile.createNewFile();
      FileOutputStream fOut = new FileOutputStream(myFile);
      OutputStreamWriter myOutWriter = new OutputStreamWriter(fOut);
      myOutWriter.append("setprop qemu.sf.lcd_density " + NewDPI + "\n");
      myOutWriter.append("stop\n");
      myOutWriter.append("sleep 1000\n");
      myOutWriter.append("echo done > /sdcard/done.txt\n");
      myOutWriter.append("start\n");
      myOutWriter.flush();
      myOutWriter.close();
      Process dpProc = Runtime.getRuntime().exec("sh");
        DataOutputStream os = new DataOutputStream(dpProc.getOutputStream());
        os.writeBytes("chmod 777 " + newFileName + "\n");
        os.writeBytes("su -c " + newFileName + "\n");
        os.flush();
      }
      catch(Exception ex)
      {
        Logger.Log(this, ex);
      }
    }
}




Java Source Code List

android.os.UEventObserver.java
com.nkahoang.kernelswitchobserver.DockObserver.java
com.nkahoang.kernelswitchobserver.GenericHardwareObserver.java
com.nkahoang.kernelswitchobserver.HDMIObserver.java
com.nkahoang.kernelswitchobserver.HardwareNotFoundException.java
com.nkahoang.kernelswitchobserver.HeadsetObserver.java
com.nkahoang.kernelswitchobserver.UEventStateChangeHandler.java
com.nkahoang.screenstandby.AppDetector.java
com.nkahoang.screenstandby.AutoSettingWizard.java
com.nkahoang.screenstandby.BTReceiver.java
com.nkahoang.screenstandby.BackupHelper.java
com.nkahoang.screenstandby.BaseActivity.java
com.nkahoang.screenstandby.BootTimeReceiver.java
com.nkahoang.screenstandby.ChangeLogHandler.java
com.nkahoang.screenstandby.DisableActivity.java
com.nkahoang.screenstandby.DockReceiver.java
com.nkahoang.screenstandby.EnableActivity.java
com.nkahoang.screenstandby.ExceptionHandler.java
com.nkahoang.screenstandby.FlowLayout.java
com.nkahoang.screenstandby.FontManager.java
com.nkahoang.screenstandby.HDMIReceiver.java
com.nkahoang.screenstandby.HUDNative.java
com.nkahoang.screenstandby.HeadsetReceiver.java
com.nkahoang.screenstandby.IconContextMenu.java
com.nkahoang.screenstandby.Logger.java
com.nkahoang.screenstandby.Main.java
com.nkahoang.screenstandby.ManualBrightnessChangerActivity.java
com.nkahoang.screenstandby.MediaButtonControlReceiver.java
com.nkahoang.screenstandby.NotificationBar.java
com.nkahoang.screenstandby.NumberPickerButton.java
com.nkahoang.screenstandby.NumberPicker.java
com.nkahoang.screenstandby.OneTwoDimmer.java
com.nkahoang.screenstandby.OutcomingCallReceiver.java
com.nkahoang.screenstandby.PreferenceListFragment.java
com.nkahoang.screenstandby.RemoteControlSelectActivity.java
com.nkahoang.screenstandby.RemoteControllerActivity.java
com.nkahoang.screenstandby.RemoteServerActivity.java
com.nkahoang.screenstandby.ServiceToggleReceiver.java
com.nkahoang.screenstandby.SettingActivity.java
com.nkahoang.screenstandby.ShortcutActivity.java
com.nkahoang.screenstandby.ShortcutOnActivity.java
com.nkahoang.screenstandby.StandbyService.java
com.nkahoang.screenstandby.StandbyToggleReceiver.java
com.nkahoang.screenstandby.StandbyWidgetProvider2by2.java
com.nkahoang.screenstandby.StandbyWidgetProvider.java
com.nkahoang.screenstandby.TimePickerDialog.java
com.nkahoang.screenstandby.TimePicker.java
com.nkahoang.screenstandby.TroubleshootingActivity.java
com.nkahoang.screenstandby.VolumeKeyDetector.java
com.nkahoang.screenstandby.XTopDPIChanger.java
com.nkahoang.screenstandby.remotecontrol.ClientService.java
com.nkahoang.screenstandby.remotecontrol.Core.java
com.nkahoang.screenstandby.remotecontrol.OnClientStateChangedHandler.java
com.nkahoang.screenstandby.remotecontrol.OnServiceAddressResolvedHandler.java
com.nkahoang.screenstandby.remotecontrol.OnStateChangedHandler.java
com.nkahoang.screenstandby.remotecontrol.RemoteAppPackages.java
com.nkahoang.screenstandby.remotecontrol.RemotePackageInfo.java
com.nkahoang.screenstandby.remotecontrol.ServerService.java
com.nkahoang.screenstandby.remotecontrol.ServiceBinder.java
com.nkahoang.screenstandby.settings.DeviceSettings.java
com.nkahoang.screenstandby.settings.RootChecker.java
com.nkahoang.screenstandby.settings.UpdateChecker.java