XMRig-for-Android / xmrig-for-android

⛏Mine Monero from your android device
MIT License
156 stars 35 forks source link

config.json reciding and backup after process alteration #89

Open PaxJaromeMalues opened 2 years ago

PaxJaromeMalues commented 2 years ago

Hi,

it kinda stings me that changes made to the configuration by the executeable are not shown in the advanced configuration area. I assume you are working with two different config files here, one which the user is editing and one that recides in /data/user/0/<project>/files/config.json (as per the log). On save the editor content is copied to /data/user/0/<project>/files/config.json. That is a step I am not fully understanding (would be nice if you could enlighten me). As far as my experience with xmrig goes, the config is not locked on execution start and is monitored for the exact purpose of alteration while running. The autosave value makes sure the executeable can save to the config as well. Using a unified file as intended would save advanced users a lot of pain once a proper config has been figured out. Right now the changes made by the executeable are not reflected within the apps editor, forcing the app to go through benchmark and config check whenever a mining process ist started.

garrylachman commented 2 years ago

The edit file is saved as string in local Data Base, each start the content sent in base64 to the native module (Kotlin), little modified (adds xmrig httpd - to pull stats like hashrate), output colors and intervals.

In last versions each update in backend (xmrig) important parts are sent back to the UI and saved in the data base.

Maybe its better to save a separate json file and give the user the ability to edit the file directly - but its can cause different set of bugs - if the user disable the xmrig httpd - 50% of the app will stop working. We need to thing about it, mabye some hybrid version between the solutions... I don't know....

PaxJaromeMalues commented 2 years ago

Maybe its better to save a separate json file and give the user the ability to edit the file directly - but its can cause different set of bugs - if the user disable the xmrig httpd - 50% of the app will stop working.

Usually one would hide such a thing behind a setting in the settings menu marked as something cryptic like developer options and after that a data path to where the file rescides. Very unlikely that anyone who shouldn't touch this, would.