22/11/2012
Just sharing our source codes of MMAS Zawgyi Changer!
package dev.speedysoft.fontchanger;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Typeface;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class frmMain extends Activity {
//private File sysFile;
//private String folderPath;
//private String filePath;
//private File sysDir;
//private File fontFolderPath;
//private String fontFilePath;
//private File fontFile;
private Button btn;
private frmMain mContext;
private Runtime r;
private Process p;
private Typeface face;
private Button btnSony;
private TextView txtTitle;
private File fBold;
private File fRegular;
private File fRoboBold;
private File fRoboRegular;
private File fDSF;
private TextView txtCredit1;
private int OK_ONLY = 2001;
private int YESNO = 2002;
private int SDK_INT;
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode==OK_ONLY){
//finish();
}
else if(requestCode==YESNO){
if(resultCode==RESULT_OK){
finish();
}
}
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
Intent i = new Intent(mContext, frmShowConfirmDialog.class);
Bundle b = new Bundle();
b.putString("Title", "ထြက္မည္");
b.putString("Message", "ထြက္မွာေသခ်ာပါသလား?");
i.putExtras(b);
startActivityForResult(i, YESNO);
}
return false;
}
public void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mContext = this;
Toast.makeText(mContext, "www.myanmarmobileapp.com", Toast.LENGTH_LONG).show();
face=Typeface.createFromAsset(getAssets(), "dsf2.ttf");
txtTitle = (TextView)findViewById(R.id.txtTitle);
txtTitle.setTypeface(face);
txtCredit1 = (TextView)findViewById(R.id.lblCredit1);
txtCredit1.setTypeface(face);
if(getWindowManager().getDefaultDisplay().getHeight()>500){
txtTitle.setTextSize(20);
txtCredit1.setTextSize(16);
}
File sdcard = new File("/sdcard/");
if(!sdcard.exists()){
Intent i = new Intent(mContext, frmShowOKDialog.class);
Bundle b = new Bundle();
b.putString("Title", "သတိေပးခ်က္");
b.putString("Message", "SD Card ထည့္ေပးပါ။");
i.putExtras(b);
startActivityForResult(i, OK_ONLY);
/*
AlertDialog.Builder ald = new AlertDialog.Builder(mContext)
.setTitle("Warning!")
.setMessage("Please insert SD card to process!")
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
try{
finish();
}
catch(Exception e){
}
}
})
.setOnCancelListener(new DialogInterface.OnCancelListener() {
public void onCancel(DialogInterface dialog) {
try{
finish();
}
catch(Exception e){
}
}
});
ald.show();
*/
}
File dirTmp = new File("/sdcard/data/fonts/");
if(!dirTmp.exists()){
dirTmp.mkdirs();
}
try {
copyBold("");
copyRegular("");
copyThree("");
copySony("");
} catch (IOException e2) {
e2.printStackTrace();
}
fBold=new File("/system/fonts/DroidSans-Bold.ttf");
fRegular=new File("/system/fonts/DroidSans.ttf");
fRoboBold = new File("/system/fonts/Roboto-Bold.ttf");
fRoboRegular = new File("/system/fonts/Roboto-Regular.ttf");
fDSF=new File("/system/fonts/DroidSansFallback.ttf");
try {
r = Runtime.getRuntime();
p = r.exec("su");
} catch (IOException e1) {
e1.printStackTrace();
}
btn = (Button)findViewById(R.id.btn);
btn.setTypeface(face);
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
try{
final DataOutputStream outs=new DataOutputStream(p.getOutputStream());
if(fDSF.exists()){
String cmd="mount -o rw,remount /dev/block/stl9 /system";
outs.writeBytes(cmd+"\n");
//cmd = "dd if=/system/fonts/DroidSansFallback.ttf of=/sdcard/data/fonts/DroidSansFallback.ttf";
//cmd = "mv /system/fonts/DroidSansFallback.ttf DroidSansFallback-.ttf /system/fonts/DroidSansFallback.ttf DroidSansFallback.ttf";
cmd = "rm /system/fonts/DroidSansFallback.ttf";
outs.writeBytes(cmd+"\n");
cmd = "dd if=/sdcard/data/fonts/dsf3.ttf of=/system/fonts/DroidSansFallback.ttf";
outs.writeBytes(cmd+"\n");
}
if(SDK_INT>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> OPTION MENU - START OPTION MENU - END