public void saveSetting() { // setting된 값을 db에 업테이트 합니다. db.open(false); for (int i = 0; i < al.size(); i++) { if (buffer[i] != al.get(i).isChecked()) { // 초기 boolean값과 설정된 boolean 값이 다를 때 db.write( "UPDATE classlist SET askable = " + Booleantoint(al.get(i).isChecked()) + " WHERE classname = '" + al.get(i).getName() + "'"); // db update } // UPDATE classlist SET usable = 0 WHERE classname = 'al.get(i).getName()' } db.close(); }
public ArrayList<classes> setList() { ArrayList<classes> res = new ArrayList<classes>(); int index = 0; db.open(true); Cursor c = db.read("SELECT * FROM classlist"); db.close(); buffer = new boolean[c.getCount()]; // 초기 boolean 값 저장 while (c.isAfterLast() == false) { classes Data = new classes(c.getString(1), Inttoboolean(c.getInt(3)), Inttoboolean(c.getInt(2))); res.add(Data); buffer[index++] = Data.isChecked(); c.moveToNext(); } c.close(); return res; }
private void readDatabass() { db.open(true); Cursor c = db.read("SELECT * FROM classlist WHERE classname = '" + packageName + "'"); if (c.getCount() == 0) { db.close(); db.open(false); db.write("INSERT INTO classlist values(null, '" + packageName + "', 1, 1)"); db.close(); db.open(true); c = db.read("SELECT * FROM classlist WHERE classname = '" + packageName + "'"); } askable = Inttoboolean(c.getInt(3)); usable = Inttoboolean(c.getInt(2)); db.close(); c.close(); }
public void askUI(String packName) { packageName = packName; this.readDatabass(); if (clearFlag == true) { packNameUsable = new ArrayList<String>(); clearFlag = false; } if (askable == true) { // 물어봐야 함 // 명필 추가 2013-05-14 한 태그에서 같은 이름 여러번 물어보지 않도록.. 한 태그는 같은 이름 한번만 물어봄. for (int index = 0; index < packNameUsable.size(); index++) { if (packNameUsable.get(index).equals(packName)) { /* Message msg = new Message(); msg.what = 1; mSchemeHandler.sendMessage(msg); */ mSchemeHandler.sendEmptyMessage(1); if (DEBUG) Log.i("readActivity showDialog return", "true1 : " + 1); return; } } db.open(false); final Dialog dialog = new Dialog(context); dialog.setContentView(R.layout.dialog_ask_package); dialog.setTitle("Package Setting"); final CheckBox ctv = (CheckBox) dialog.findViewById(R.id.askable); TextView name = (TextView) dialog.findViewById(R.id.classname); name.setText(packageName + "패키지를 실행하려 합니다.\n허가하시겠습니까?"); ctv.setText("이 패키지에 대하여 항상 적용"); Button allow = (Button) dialog.findViewById(R.id.allow); Button reject = (Button) dialog.findViewById(R.id.reject); // 채크박스와 버튼 두개의 다이얼로그 생성 allow.setOnClickListener( new OnClickListener() { public void onClick(View v) { // 허가 시 동작 // Log.i("allow","allow"); dialog.dismiss(); if (ctv.isChecked() == true) { // db.write("UPDATE classlist SET usable = 0, askable = 0 WHERE classname = '" db.write( "UPDATE classlist SET usable = 1, askable = 0 WHERE classname = '" + packageName + "'"); db.close(); } /* Message msg = new Message(); msg.what = 1; mSchemeHandler.sendMessage(msg); */ mSchemeHandler.sendEmptyMessage(1); // 명필 추가 2013-05-14 한 태그에서 같은 이름 여러번 물어보지 않도록.. 한 태그는 같은 이름 한번만 물어봄. packNameUsable.add(packageName); if (DEBUG) Log.i("readActivity showDialog return", "true2 : " + 1); usable = true; } }); reject.setOnClickListener( new OnClickListener() { public void onClick(View v) { // Log.i("allow","reject"); dialog.dismiss(); if (ctv.isChecked() == true) { // db.write("UPDATE classlist SET usable = 1, askable = 0 WHERE classname = '" db.write( "UPDATE classlist SET usable = 0, askable = 0 WHERE classname = '" + packageName + "'"); db.close(); } /* Message msg = new Message(); msg.what = 0; mSchemeHandler.sendMessage(msg); */ mSchemeHandler.sendEmptyMessage(0); if (DEBUG) Log.i("readActivity showDialog return", "false3 : " + 0); usable = false; } }); dialog.show(); // 다이얼로그를 뿌림 } else { // 다신 묻지 않음 선택된 패키지 Message msg = new Message(); if (usable == true) { msg.what = 1; } else { msg.what = 0; } mSchemeHandler.sendMessage(msg); } }