1
0

android build: factor out package name ("org.electrum.electrum")

to make it easier to change, to make it easy to have a co-existing mainnet and testnet install
(or two mainnet installs, etc)
This commit is contained in:
SomberNight
2022-07-07 19:03:06 +02:00
parent bcbe69672e
commit e72f575eea
4 changed files with 31 additions and 9 deletions

View File

@@ -310,17 +310,15 @@ class Logger:
def configure_logging(config: 'SimpleConfig', *, log_to_file: Optional[bool] = None) -> None:
from .util import is_android_debug_apk
verbosity = config.get('verbosity')
verbosity_shortcuts = config.get('verbosity_shortcuts')
_configure_stderr_logging(verbosity=verbosity, verbosity_shortcuts=verbosity_shortcuts)
if log_to_file is None:
log_to_file = config.get('log_to_file', False)
is_android = 'ANDROID_DATA' in os.environ
if is_android:
from jnius import autoclass
build_config = autoclass("org.electrum.electrum.BuildConfig")
log_to_file |= bool(build_config.DEBUG)
log_to_file |= is_android_debug_apk()
if log_to_file:
log_directory = pathlib.Path(config.path) / "logs"
_configure_file_logging(log_directory)

View File

@@ -444,7 +444,8 @@ def android_ext_dir():
return primary_external_storage_path()
def android_backup_dir():
d = os.path.join(android_ext_dir(), 'org.electrum.electrum')
pkgname = get_android_package_name()
d = os.path.join(android_ext_dir(), pkgname)
if not os.path.exists(d):
os.mkdir(d)
return d
@@ -511,6 +512,26 @@ def get_new_wallet_name(wallet_folder: str) -> str:
return filename
def is_android_debug_apk() -> bool:
is_android = 'ANDROID_DATA' in os.environ
if not is_android:
return False
from jnius import autoclass
pkgname = get_android_package_name()
build_config = autoclass(f"{pkgname}.BuildConfig")
return bool(build_config.DEBUG)
def get_android_package_name() -> str:
is_android = 'ANDROID_DATA' in os.environ
assert is_android
from jnius import autoclass
from android.config import ACTIVITY_CLASS_NAME
activity = autoclass(ACTIVITY_CLASS_NAME).mActivity
pkgname = str(activity.getPackageName())
return pkgname
def assert_bytes(*args):
"""
porting helper, assert args type