2016-09-25 21:31:38 +08:00

89 lines
2.1 KiB
Java

package com.topjohnwu.magisk.module;
import android.content.Context;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import android.util.Log;
import com.topjohnwu.magisk.R;
import com.topjohnwu.magisk.utils.Logger;
import com.topjohnwu.magisk.utils.Utils;
public class Module extends BaseModule {
private String mRemoveFile;
private String mDisableFile;
private String mZipUrl, mLogUrl;
private boolean mEnable, mRemove, mUpdateAvailable = false;
public Module(Context context, String path) {
super();
parseProps(Utils.readFile(path + "/module.prop"));
mRemoveFile = path + "/remove";
mDisableFile = path + "/disable";
if (mId == null) {
int sep = path.lastIndexOf('/');
mId = path.substring(sep + 1);
}
if (mName == null)
mName = mId;
if (mDescription == null)
mDescription = context.getString(R.string.no_info_provided);
if (mVersion == null)
mVersion = context.getString(R.string.no_info_provided);
Logger.dh("Module id: " + mId);
mEnable = !Utils.itemExist(mDisableFile);
mRemove = Utils.itemExist(mRemoveFile);
}
public void checkUpdate() {
Repo repo = RepoHelper.repoMap.get(mId);
if (repo != null) {
repo.setInstalled();
if (repo.getVersionCode() > mVersionCode) {
repo.setUpdate();
}
}
}
public String getmLogUrl() {return mLogUrl; }
public void createDisableFile() {
mEnable = !Utils.createFile(mDisableFile);
}
public void removeDisableFile() {
mEnable = Utils.removeFile(mDisableFile);
}
public boolean isEnabled() {
return mEnable;
}
public void createRemoveFile() {
mRemove = Utils.createFile(mRemoveFile);
}
public void deleteRemoveFile() {
mRemove = !Utils.removeFile(mRemoveFile);
}
public boolean willBeRemoved() {
return mRemove;
}
public String getmZipUrl() { return mZipUrl; }
public boolean isUpdateAvailable() { return mUpdateAvailable; }
}