68 lines
1.7 KiB
Java
Raw Normal View History

2016-08-23 05:18:28 +08:00
package com.topjohnwu.magisk.module;
2016-08-17 13:00:55 +02:00
import com.topjohnwu.magisk.utils.Logger;
2017-07-16 01:20:39 +08:00
import com.topjohnwu.magisk.utils.Shell;
2016-08-23 05:18:28 +08:00
import com.topjohnwu.magisk.utils.Utils;
public class Module extends BaseModule {
2016-08-17 13:00:55 +02:00
2016-09-29 03:37:57 +08:00
private String mRemoveFile, mDisableFile, mUpdateFile;
private boolean mEnable, mRemove, mUpdated;
2016-08-29 06:35:07 +08:00
2017-07-16 01:20:39 +08:00
public Module(Shell shell, String path) throws CacheModException {
2016-09-02 13:18:37 -05:00
2017-07-16 01:20:39 +08:00
parseProps(Utils.readFile(shell, path + "/module.prop"));
mRemoveFile = path + "/remove";
mDisableFile = path + "/disable";
2016-09-29 03:37:57 +08:00
mUpdateFile = path + "/update";
if (getId() == null) {
int sep = path.lastIndexOf('/');
setId(path.substring(sep + 1));
}
if (getName() == null) {
setName(getId());
}
2016-09-06 16:54:08 -05:00
Logger.dev("Creating Module, id: " + getId());
2016-09-06 16:54:08 -05:00
2017-07-16 01:20:39 +08:00
mEnable = !Utils.itemExist(shell, mDisableFile);
mRemove = Utils.itemExist(shell, mRemoveFile);
mUpdated = Utils.itemExist(shell, mUpdateFile);
2016-08-17 13:00:55 +02:00
}
2017-07-16 01:20:39 +08:00
public void createDisableFile(Shell shell) {
mEnable = false;
2017-07-16 01:20:39 +08:00
Utils.createFile(shell, mDisableFile);
}
2017-07-16 01:20:39 +08:00
public void removeDisableFile(Shell shell) {
mEnable = true;
2017-07-16 01:20:39 +08:00
Utils.removeItem(shell, mDisableFile);
}
public boolean isEnabled() {
return mEnable;
}
2017-07-16 01:20:39 +08:00
public void createRemoveFile(Shell shell) {
mRemove = true;
2017-07-16 01:20:39 +08:00
Utils.createFile(shell, mRemoveFile);
}
2017-07-16 01:20:39 +08:00
public void deleteRemoveFile(Shell shell) {
mRemove = false;
2017-07-16 01:20:39 +08:00
Utils.removeItem(shell, mRemoveFile);
}
public boolean willBeRemoved() {
return mRemove;
}
2016-09-29 03:37:57 +08:00
public boolean isUpdated() {
return mUpdated;
}
2016-08-17 13:00:55 +02:00
}