diff options
author | cyberta <cyberta@riseup.net> | 2022-07-19 19:01:49 +0000 |
---|---|---|
committer | cyberta <cyberta@riseup.net> | 2022-07-19 19:01:49 +0000 |
commit | b6ff36e721a91621b49632a1ef5cefc9bb2506d8 (patch) | |
tree | 5aab488eff3c87fdf4ad4c33660f070d3b3ad24b /app/src/main/java/se/leap/bitmaskclient/base/utils/SystemPropertiesHelper.java | |
parent | 6bc3a79e6d09a8fa1857f1d502a87c1c0633be35 (diff) | |
parent | 5b244cd71989b504d70936ce5575dc947cb5ab6b (diff) |
Merge branch 'hide_experimental_vpn_tethering_on_calyx_os' into 'master'
hide tethering option on CalyxOS 11 (SDK 30)
Closes #9088
See merge request leap/bitmask_android!199
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/base/utils/SystemPropertiesHelper.java')
-rw-r--r-- | app/src/main/java/se/leap/bitmaskclient/base/utils/SystemPropertiesHelper.java | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/base/utils/SystemPropertiesHelper.java b/app/src/main/java/se/leap/bitmaskclient/base/utils/SystemPropertiesHelper.java new file mode 100644 index 00000000..b148f685 --- /dev/null +++ b/app/src/main/java/se/leap/bitmaskclient/base/utils/SystemPropertiesHelper.java @@ -0,0 +1,36 @@ +package se.leap.bitmaskclient.base.utils; + +import android.content.Context; + +import java.lang.reflect.Method; + + +public class SystemPropertiesHelper { + + /** + * Checks if SystemProperties contains a given key using reflection + * @return true if reflection was successful and the key was found + */ + public static boolean contains(String key, Context context) { + String result = null; + try { + ClassLoader cl = context.getClassLoader(); + @SuppressWarnings("rawtypes") + Class SystemProperties = cl.loadClass("android.os.SystemProperties"); + @SuppressWarnings("rawtypes") + Class[] paramTypes= new Class[1]; + paramTypes[0]= String.class; + + Method get = SystemProperties.getMethod("get", paramTypes); + Object[] params= new Object[1]; + params[0]= key; + + result = (String) get.invoke(SystemProperties, params); + } catch (Exception e) { + e.printStackTrace(); + } + + return result != null; + } +} + |