/* * Copyright (C) 2015-2016 Willi Ye <williye97@gmail.com> * * This file is part of Kernel Adiutor. * * Kernel Adiutor is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Kernel Adiutor is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Kernel Adiutor. If not, see <http://www.gnu.org/licenses/>. * */ package com.grarak.kerneladiutor.utils.tools; import android.os.Environment; import com.grarak.kerneladiutor.utils.Utils; import com.grarak.kerneladiutor.utils.root.RootFile; import com.grarak.kerneladiutor.utils.root.RootUtils; import java.io.File; import java.util.LinkedHashMap; /** * Created by willi on 10.07.16. */ public class Buildprop { public static final String BUILD_PROP = "/system/build.prop"; public static void backup() { File data = new File(Utils.getInternalDataStorage()); if (!data.exists()) { data.mkdirs(); } new RootFile(BUILD_PROP).cp(data.toString().replace( Environment.getExternalStorageDirectory().toString(), "/sdcard") + "/build.prop"); } public static void overwrite(String oldKey, String oldValue, String newKey, String newValue) { RootUtils.mount(true, "/system"); RootUtils.runCommand("sed 's|" + oldKey + "=" + oldValue + "|" + newKey + "=" + newValue + "|g' -i /system/build.prop"); } public static void addKey(String key, String value) { RootUtils.mount(true, "/system"); RootUtils.runCommand("echo " + key + "=" + value + " >> " + BUILD_PROP); } public static LinkedHashMap<String, String> getProps() { LinkedHashMap<String, String> list = new LinkedHashMap<>(); String[] values = Utils.readFile(BUILD_PROP).split("\\r?\\n"); for (String prop : values) { if (!prop.isEmpty() && !prop.startsWith("#")) { String[] line = prop.split("="); StringBuilder value = new StringBuilder(); if (line.length > 1) { for (int i = 1; i < line.length; i++) { value.append(line[i]).append("="); } value.setLength(value.length() - 1); } list.put(line.length > 0 ? line[0].trim() : "", value.toString().trim()); } } return list; } }