wip
This commit is contained in:
1
mobile/.gitignore
vendored
1
mobile/.gitignore
vendored
@@ -1,3 +1,2 @@
|
||||
/build
|
||||
/debug
|
||||
release/
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<!--
|
||||
This file is automatically generated by Crashlytics to uniquely
|
||||
identify the mapping file for your Android application.
|
||||
|
||||
Do NOT modify or commit to source control!
|
||||
-->
|
||||
<string name="com.google.firebase.crashlytics.mapping_file_id" tools:ignore="UnusedResources,TypographyDashes" translatable="false">00000000000000000000000000000000</string>
|
||||
</resources>
|
||||
@@ -0,0 +1,92 @@
|
||||
// Generated by view binder compiler. Do not edit!
|
||||
package hanson.xyz.vpnhotspotmod.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.LinearLayout;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.fragment.app.FragmentContainerView;
|
||||
import androidx.viewbinding.ViewBinding;
|
||||
import androidx.viewbinding.ViewBindings;
|
||||
import com.google.android.material.appbar.MaterialToolbar;
|
||||
import com.google.android.material.bottomnavigation.BottomNavigationView;
|
||||
import hanson.xyz.vpnhotspotmod.R;
|
||||
import java.lang.NullPointerException;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
|
||||
public final class ActivityMainBinding implements ViewBinding {
|
||||
@NonNull
|
||||
private final LinearLayout rootView;
|
||||
|
||||
@NonNull
|
||||
public final FragmentContainerView fragmentHolder;
|
||||
|
||||
@NonNull
|
||||
public final BottomNavigationView navigation;
|
||||
|
||||
@NonNull
|
||||
public final MaterialToolbar toolbar;
|
||||
|
||||
private ActivityMainBinding(@NonNull LinearLayout rootView,
|
||||
@NonNull FragmentContainerView fragmentHolder, @NonNull BottomNavigationView navigation,
|
||||
@NonNull MaterialToolbar toolbar) {
|
||||
this.rootView = rootView;
|
||||
this.fragmentHolder = fragmentHolder;
|
||||
this.navigation = navigation;
|
||||
this.toolbar = toolbar;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public LinearLayout getRoot() {
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityMainBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, null, false);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityMainBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||
View root = inflater.inflate(R.layout.activity_main, parent, false);
|
||||
if (attachToParent) {
|
||||
parent.addView(root);
|
||||
}
|
||||
return bind(root);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ActivityMainBinding bind(@NonNull View rootView) {
|
||||
// The body of this method is generated in a way you would not otherwise write.
|
||||
// This is done to optimize the compiled bytecode for size and performance.
|
||||
int id;
|
||||
missingId: {
|
||||
id = R.id.fragmentHolder;
|
||||
FragmentContainerView fragmentHolder = ViewBindings.findChildViewById(rootView, id);
|
||||
if (fragmentHolder == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.navigation;
|
||||
BottomNavigationView navigation = ViewBindings.findChildViewById(rootView, id);
|
||||
if (navigation == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.toolbar;
|
||||
MaterialToolbar toolbar = ViewBindings.findChildViewById(rootView, id);
|
||||
if (toolbar == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
return new ActivityMainBinding((LinearLayout) rootView, fragmentHolder, navigation, toolbar);
|
||||
}
|
||||
String missingId = rootView.getResources().getResourceName(id);
|
||||
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,566 @@
|
||||
// Generated by view binder compiler. Do not edit!
|
||||
package hanson.xyz.vpnhotspotmod.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.Spinner;
|
||||
import android.widget.TextView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.viewbinding.ViewBinding;
|
||||
import androidx.viewbinding.ViewBindings;
|
||||
import com.google.android.material.appbar.MaterialToolbar;
|
||||
import com.google.android.material.materialswitch.MaterialSwitch;
|
||||
import com.google.android.material.textfield.TextInputEditText;
|
||||
import com.google.android.material.textfield.TextInputLayout;
|
||||
import hanson.xyz.vpnhotspotmod.R;
|
||||
import java.lang.NullPointerException;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
|
||||
public final class DialogWifiApBinding implements ViewBinding {
|
||||
@NonNull
|
||||
private final LinearLayout rootView;
|
||||
|
||||
@NonNull
|
||||
public final LinearLayout accessControlGroup;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText acs2g;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout acs2gWrapper;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText acs5g;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout acs5gWrapper;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText acs6g;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout acs6gWrapper;
|
||||
|
||||
@NonNull
|
||||
public final LinearLayout advancedApGroup;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText allowedList;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout allowedListWrapper;
|
||||
|
||||
@NonNull
|
||||
public final MaterialSwitch autoShutdown;
|
||||
|
||||
@NonNull
|
||||
public final TextView bandError;
|
||||
|
||||
@NonNull
|
||||
public final LinearLayout bandGroup;
|
||||
|
||||
@NonNull
|
||||
public final Spinner bandPrimary;
|
||||
|
||||
@NonNull
|
||||
public final Spinner bandSecondary;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText blockedList;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout blockedListWrapper;
|
||||
|
||||
@NonNull
|
||||
public final MaterialSwitch bridgedModeOpportunisticShutdown;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText bridgedTimeout;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout bridgedTimeoutWrapper;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText bssid;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout bssidWrapper;
|
||||
|
||||
@NonNull
|
||||
public final MaterialSwitch clientUserControl;
|
||||
|
||||
@NonNull
|
||||
public final MaterialSwitch hiddenSsid;
|
||||
|
||||
@NonNull
|
||||
public final MaterialSwitch ieee80211ax;
|
||||
|
||||
@NonNull
|
||||
public final MaterialSwitch ieee80211be;
|
||||
|
||||
@NonNull
|
||||
public final Spinner macRandomization;
|
||||
|
||||
@NonNull
|
||||
public final LinearLayout macRandomizationWrapper;
|
||||
|
||||
@NonNull
|
||||
public final Spinner maxChannelBandwidth;
|
||||
|
||||
@NonNull
|
||||
public final TextView maxChannelBandwidthError;
|
||||
|
||||
@NonNull
|
||||
public final LinearLayout maxChannelBandwidthWrapper;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText maxClient;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout maxClientWrapper;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText password;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout passwordWrapper;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText persistentRandomizedMac;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout persistentRandomizedMacWrapper;
|
||||
|
||||
@NonNull
|
||||
public final Spinner security;
|
||||
|
||||
@NonNull
|
||||
public final LinearLayout securityWrapper;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText ssid;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout ssidWrapper;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText timeout;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout timeoutWrapper;
|
||||
|
||||
@NonNull
|
||||
public final MaterialToolbar toolbar;
|
||||
|
||||
@NonNull
|
||||
public final MaterialSwitch userConfig;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText vendorElements;
|
||||
|
||||
@NonNull
|
||||
public final TextInputLayout vendorElementsWrapper;
|
||||
|
||||
private DialogWifiApBinding(@NonNull LinearLayout rootView,
|
||||
@NonNull LinearLayout accessControlGroup, @NonNull TextInputEditText acs2g,
|
||||
@NonNull TextInputLayout acs2gWrapper, @NonNull TextInputEditText acs5g,
|
||||
@NonNull TextInputLayout acs5gWrapper, @NonNull TextInputEditText acs6g,
|
||||
@NonNull TextInputLayout acs6gWrapper, @NonNull LinearLayout advancedApGroup,
|
||||
@NonNull TextInputEditText allowedList, @NonNull TextInputLayout allowedListWrapper,
|
||||
@NonNull MaterialSwitch autoShutdown, @NonNull TextView bandError,
|
||||
@NonNull LinearLayout bandGroup, @NonNull Spinner bandPrimary, @NonNull Spinner bandSecondary,
|
||||
@NonNull TextInputEditText blockedList, @NonNull TextInputLayout blockedListWrapper,
|
||||
@NonNull MaterialSwitch bridgedModeOpportunisticShutdown,
|
||||
@NonNull TextInputEditText bridgedTimeout, @NonNull TextInputLayout bridgedTimeoutWrapper,
|
||||
@NonNull TextInputEditText bssid, @NonNull TextInputLayout bssidWrapper,
|
||||
@NonNull MaterialSwitch clientUserControl, @NonNull MaterialSwitch hiddenSsid,
|
||||
@NonNull MaterialSwitch ieee80211ax, @NonNull MaterialSwitch ieee80211be,
|
||||
@NonNull Spinner macRandomization, @NonNull LinearLayout macRandomizationWrapper,
|
||||
@NonNull Spinner maxChannelBandwidth, @NonNull TextView maxChannelBandwidthError,
|
||||
@NonNull LinearLayout maxChannelBandwidthWrapper, @NonNull TextInputEditText maxClient,
|
||||
@NonNull TextInputLayout maxClientWrapper, @NonNull TextInputEditText password,
|
||||
@NonNull TextInputLayout passwordWrapper, @NonNull TextInputEditText persistentRandomizedMac,
|
||||
@NonNull TextInputLayout persistentRandomizedMacWrapper, @NonNull Spinner security,
|
||||
@NonNull LinearLayout securityWrapper, @NonNull TextInputEditText ssid,
|
||||
@NonNull TextInputLayout ssidWrapper, @NonNull TextInputEditText timeout,
|
||||
@NonNull TextInputLayout timeoutWrapper, @NonNull MaterialToolbar toolbar,
|
||||
@NonNull MaterialSwitch userConfig, @NonNull TextInputEditText vendorElements,
|
||||
@NonNull TextInputLayout vendorElementsWrapper) {
|
||||
this.rootView = rootView;
|
||||
this.accessControlGroup = accessControlGroup;
|
||||
this.acs2g = acs2g;
|
||||
this.acs2gWrapper = acs2gWrapper;
|
||||
this.acs5g = acs5g;
|
||||
this.acs5gWrapper = acs5gWrapper;
|
||||
this.acs6g = acs6g;
|
||||
this.acs6gWrapper = acs6gWrapper;
|
||||
this.advancedApGroup = advancedApGroup;
|
||||
this.allowedList = allowedList;
|
||||
this.allowedListWrapper = allowedListWrapper;
|
||||
this.autoShutdown = autoShutdown;
|
||||
this.bandError = bandError;
|
||||
this.bandGroup = bandGroup;
|
||||
this.bandPrimary = bandPrimary;
|
||||
this.bandSecondary = bandSecondary;
|
||||
this.blockedList = blockedList;
|
||||
this.blockedListWrapper = blockedListWrapper;
|
||||
this.bridgedModeOpportunisticShutdown = bridgedModeOpportunisticShutdown;
|
||||
this.bridgedTimeout = bridgedTimeout;
|
||||
this.bridgedTimeoutWrapper = bridgedTimeoutWrapper;
|
||||
this.bssid = bssid;
|
||||
this.bssidWrapper = bssidWrapper;
|
||||
this.clientUserControl = clientUserControl;
|
||||
this.hiddenSsid = hiddenSsid;
|
||||
this.ieee80211ax = ieee80211ax;
|
||||
this.ieee80211be = ieee80211be;
|
||||
this.macRandomization = macRandomization;
|
||||
this.macRandomizationWrapper = macRandomizationWrapper;
|
||||
this.maxChannelBandwidth = maxChannelBandwidth;
|
||||
this.maxChannelBandwidthError = maxChannelBandwidthError;
|
||||
this.maxChannelBandwidthWrapper = maxChannelBandwidthWrapper;
|
||||
this.maxClient = maxClient;
|
||||
this.maxClientWrapper = maxClientWrapper;
|
||||
this.password = password;
|
||||
this.passwordWrapper = passwordWrapper;
|
||||
this.persistentRandomizedMac = persistentRandomizedMac;
|
||||
this.persistentRandomizedMacWrapper = persistentRandomizedMacWrapper;
|
||||
this.security = security;
|
||||
this.securityWrapper = securityWrapper;
|
||||
this.ssid = ssid;
|
||||
this.ssidWrapper = ssidWrapper;
|
||||
this.timeout = timeout;
|
||||
this.timeoutWrapper = timeoutWrapper;
|
||||
this.toolbar = toolbar;
|
||||
this.userConfig = userConfig;
|
||||
this.vendorElements = vendorElements;
|
||||
this.vendorElementsWrapper = vendorElementsWrapper;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public LinearLayout getRoot() {
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static DialogWifiApBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, null, false);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static DialogWifiApBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||
View root = inflater.inflate(R.layout.dialog_wifi_ap, parent, false);
|
||||
if (attachToParent) {
|
||||
parent.addView(root);
|
||||
}
|
||||
return bind(root);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static DialogWifiApBinding bind(@NonNull View rootView) {
|
||||
// The body of this method is generated in a way you would not otherwise write.
|
||||
// This is done to optimize the compiled bytecode for size and performance.
|
||||
int id;
|
||||
missingId: {
|
||||
id = R.id.access_control_group;
|
||||
LinearLayout accessControlGroup = ViewBindings.findChildViewById(rootView, id);
|
||||
if (accessControlGroup == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.acs_2g;
|
||||
TextInputEditText acs2g = ViewBindings.findChildViewById(rootView, id);
|
||||
if (acs2g == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.acs_2g_wrapper;
|
||||
TextInputLayout acs2gWrapper = ViewBindings.findChildViewById(rootView, id);
|
||||
if (acs2gWrapper == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.acs_5g;
|
||||
TextInputEditText acs5g = ViewBindings.findChildViewById(rootView, id);
|
||||
if (acs5g == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.acs_5g_wrapper;
|
||||
TextInputLayout acs5gWrapper = ViewBindings.findChildViewById(rootView, id);
|
||||
if (acs5gWrapper == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.acs_6g;
|
||||
TextInputEditText acs6g = ViewBindings.findChildViewById(rootView, id);
|
||||
if (acs6g == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.acs_6g_wrapper;
|
||||
TextInputLayout acs6gWrapper = ViewBindings.findChildViewById(rootView, id);
|
||||
if (acs6gWrapper == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.advanced_ap_group;
|
||||
LinearLayout advancedApGroup = ViewBindings.findChildViewById(rootView, id);
|
||||
if (advancedApGroup == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.allowed_list;
|
||||
TextInputEditText allowedList = ViewBindings.findChildViewById(rootView, id);
|
||||
if (allowedList == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.allowed_list_wrapper;
|
||||
TextInputLayout allowedListWrapper = ViewBindings.findChildViewById(rootView, id);
|
||||
if (allowedListWrapper == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.auto_shutdown;
|
||||
MaterialSwitch autoShutdown = ViewBindings.findChildViewById(rootView, id);
|
||||
if (autoShutdown == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.band_error;
|
||||
TextView bandError = ViewBindings.findChildViewById(rootView, id);
|
||||
if (bandError == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.band_group;
|
||||
LinearLayout bandGroup = ViewBindings.findChildViewById(rootView, id);
|
||||
if (bandGroup == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.band_primary;
|
||||
Spinner bandPrimary = ViewBindings.findChildViewById(rootView, id);
|
||||
if (bandPrimary == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.band_secondary;
|
||||
Spinner bandSecondary = ViewBindings.findChildViewById(rootView, id);
|
||||
if (bandSecondary == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.blocked_list;
|
||||
TextInputEditText blockedList = ViewBindings.findChildViewById(rootView, id);
|
||||
if (blockedList == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.blocked_list_wrapper;
|
||||
TextInputLayout blockedListWrapper = ViewBindings.findChildViewById(rootView, id);
|
||||
if (blockedListWrapper == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.bridged_mode_opportunistic_shutdown;
|
||||
MaterialSwitch bridgedModeOpportunisticShutdown = ViewBindings.findChildViewById(rootView, id);
|
||||
if (bridgedModeOpportunisticShutdown == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.bridged_timeout;
|
||||
TextInputEditText bridgedTimeout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (bridgedTimeout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.bridged_timeout_wrapper;
|
||||
TextInputLayout bridgedTimeoutWrapper = ViewBindings.findChildViewById(rootView, id);
|
||||
if (bridgedTimeoutWrapper == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.bssid;
|
||||
TextInputEditText bssid = ViewBindings.findChildViewById(rootView, id);
|
||||
if (bssid == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.bssid_wrapper;
|
||||
TextInputLayout bssidWrapper = ViewBindings.findChildViewById(rootView, id);
|
||||
if (bssidWrapper == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.client_user_control;
|
||||
MaterialSwitch clientUserControl = ViewBindings.findChildViewById(rootView, id);
|
||||
if (clientUserControl == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.hidden_ssid;
|
||||
MaterialSwitch hiddenSsid = ViewBindings.findChildViewById(rootView, id);
|
||||
if (hiddenSsid == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.ieee_80211ax;
|
||||
MaterialSwitch ieee80211ax = ViewBindings.findChildViewById(rootView, id);
|
||||
if (ieee80211ax == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.ieee_80211be;
|
||||
MaterialSwitch ieee80211be = ViewBindings.findChildViewById(rootView, id);
|
||||
if (ieee80211be == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.mac_randomization;
|
||||
Spinner macRandomization = ViewBindings.findChildViewById(rootView, id);
|
||||
if (macRandomization == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.mac_randomization_wrapper;
|
||||
LinearLayout macRandomizationWrapper = ViewBindings.findChildViewById(rootView, id);
|
||||
if (macRandomizationWrapper == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.max_channel_bandwidth;
|
||||
Spinner maxChannelBandwidth = ViewBindings.findChildViewById(rootView, id);
|
||||
if (maxChannelBandwidth == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.max_channel_bandwidth_error;
|
||||
TextView maxChannelBandwidthError = ViewBindings.findChildViewById(rootView, id);
|
||||
if (maxChannelBandwidthError == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.max_channel_bandwidth_wrapper;
|
||||
LinearLayout maxChannelBandwidthWrapper = ViewBindings.findChildViewById(rootView, id);
|
||||
if (maxChannelBandwidthWrapper == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.max_client;
|
||||
TextInputEditText maxClient = ViewBindings.findChildViewById(rootView, id);
|
||||
if (maxClient == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.max_client_wrapper;
|
||||
TextInputLayout maxClientWrapper = ViewBindings.findChildViewById(rootView, id);
|
||||
if (maxClientWrapper == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.password;
|
||||
TextInputEditText password = ViewBindings.findChildViewById(rootView, id);
|
||||
if (password == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.password_wrapper;
|
||||
TextInputLayout passwordWrapper = ViewBindings.findChildViewById(rootView, id);
|
||||
if (passwordWrapper == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.persistent_randomized_mac;
|
||||
TextInputEditText persistentRandomizedMac = ViewBindings.findChildViewById(rootView, id);
|
||||
if (persistentRandomizedMac == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.persistent_randomized_mac_wrapper;
|
||||
TextInputLayout persistentRandomizedMacWrapper = ViewBindings.findChildViewById(rootView, id);
|
||||
if (persistentRandomizedMacWrapper == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.security;
|
||||
Spinner security = ViewBindings.findChildViewById(rootView, id);
|
||||
if (security == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.security_wrapper;
|
||||
LinearLayout securityWrapper = ViewBindings.findChildViewById(rootView, id);
|
||||
if (securityWrapper == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.ssid;
|
||||
TextInputEditText ssid = ViewBindings.findChildViewById(rootView, id);
|
||||
if (ssid == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.ssid_wrapper;
|
||||
TextInputLayout ssidWrapper = ViewBindings.findChildViewById(rootView, id);
|
||||
if (ssidWrapper == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.timeout;
|
||||
TextInputEditText timeout = ViewBindings.findChildViewById(rootView, id);
|
||||
if (timeout == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.timeout_wrapper;
|
||||
TextInputLayout timeoutWrapper = ViewBindings.findChildViewById(rootView, id);
|
||||
if (timeoutWrapper == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.toolbar;
|
||||
MaterialToolbar toolbar = ViewBindings.findChildViewById(rootView, id);
|
||||
if (toolbar == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.user_config;
|
||||
MaterialSwitch userConfig = ViewBindings.findChildViewById(rootView, id);
|
||||
if (userConfig == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.vendor_elements;
|
||||
TextInputEditText vendorElements = ViewBindings.findChildViewById(rootView, id);
|
||||
if (vendorElements == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.vendor_elements_wrapper;
|
||||
TextInputLayout vendorElementsWrapper = ViewBindings.findChildViewById(rootView, id);
|
||||
if (vendorElementsWrapper == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
return new DialogWifiApBinding((LinearLayout) rootView, accessControlGroup, acs2g,
|
||||
acs2gWrapper, acs5g, acs5gWrapper, acs6g, acs6gWrapper, advancedApGroup, allowedList,
|
||||
allowedListWrapper, autoShutdown, bandError, bandGroup, bandPrimary, bandSecondary,
|
||||
blockedList, blockedListWrapper, bridgedModeOpportunisticShutdown, bridgedTimeout,
|
||||
bridgedTimeoutWrapper, bssid, bssidWrapper, clientUserControl, hiddenSsid, ieee80211ax,
|
||||
ieee80211be, macRandomization, macRandomizationWrapper, maxChannelBandwidth,
|
||||
maxChannelBandwidthError, maxChannelBandwidthWrapper, maxClient, maxClientWrapper,
|
||||
password, passwordWrapper, persistentRandomizedMac, persistentRandomizedMacWrapper,
|
||||
security, securityWrapper, ssid, ssidWrapper, timeout, timeoutWrapper, toolbar,
|
||||
userConfig, vendorElements, vendorElementsWrapper);
|
||||
}
|
||||
String missingId = rootView.getResources().getResourceName(id);
|
||||
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
// Generated by view binder compiler. Do not edit!
|
||||
package hanson.xyz.vpnhotspotmod.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
||||
import androidx.viewbinding.ViewBinding;
|
||||
import androidx.viewbinding.ViewBindings;
|
||||
import hanson.xyz.vpnhotspotmod.R;
|
||||
import java.lang.NullPointerException;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
|
||||
public final class FragmentClientsBinding implements ViewBinding {
|
||||
@NonNull
|
||||
private final SwipeRefreshLayout rootView;
|
||||
|
||||
@NonNull
|
||||
public final RecyclerView clients;
|
||||
|
||||
@NonNull
|
||||
public final SwipeRefreshLayout swipeRefresher;
|
||||
|
||||
private FragmentClientsBinding(@NonNull SwipeRefreshLayout rootView,
|
||||
@NonNull RecyclerView clients, @NonNull SwipeRefreshLayout swipeRefresher) {
|
||||
this.rootView = rootView;
|
||||
this.clients = clients;
|
||||
this.swipeRefresher = swipeRefresher;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public SwipeRefreshLayout getRoot() {
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static FragmentClientsBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, null, false);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static FragmentClientsBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||
View root = inflater.inflate(R.layout.fragment_clients, parent, false);
|
||||
if (attachToParent) {
|
||||
parent.addView(root);
|
||||
}
|
||||
return bind(root);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static FragmentClientsBinding bind(@NonNull View rootView) {
|
||||
// The body of this method is generated in a way you would not otherwise write.
|
||||
// This is done to optimize the compiled bytecode for size and performance.
|
||||
int id;
|
||||
missingId: {
|
||||
id = R.id.clients;
|
||||
RecyclerView clients = ViewBindings.findChildViewById(rootView, id);
|
||||
if (clients == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
SwipeRefreshLayout swipeRefresher = (SwipeRefreshLayout) rootView;
|
||||
|
||||
return new FragmentClientsBinding((SwipeRefreshLayout) rootView, clients, swipeRefresher);
|
||||
}
|
||||
String missingId = rootView.getResources().getResourceName(id);
|
||||
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,105 @@
|
||||
// Generated by view binder compiler. Do not edit!
|
||||
package hanson.xyz.vpnhotspotmod.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.ScrollView;
|
||||
import android.widget.Spinner;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.viewbinding.ViewBinding;
|
||||
import androidx.viewbinding.ViewBindings;
|
||||
import hanson.xyz.vpnhotspotmod.R;
|
||||
import java.lang.NullPointerException;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
|
||||
public final class FragmentEbegBinding implements ViewBinding {
|
||||
@NonNull
|
||||
private final ScrollView rootView;
|
||||
|
||||
@NonNull
|
||||
public final LinearLayout donationsGoogle;
|
||||
|
||||
@NonNull
|
||||
public final Button donationsGoogleAndroidMarketDonateButton;
|
||||
|
||||
@NonNull
|
||||
public final Spinner donationsGoogleAndroidMarketSpinner;
|
||||
|
||||
@NonNull
|
||||
public final Button donationsMoreDonateButton;
|
||||
|
||||
private FragmentEbegBinding(@NonNull ScrollView rootView, @NonNull LinearLayout donationsGoogle,
|
||||
@NonNull Button donationsGoogleAndroidMarketDonateButton,
|
||||
@NonNull Spinner donationsGoogleAndroidMarketSpinner,
|
||||
@NonNull Button donationsMoreDonateButton) {
|
||||
this.rootView = rootView;
|
||||
this.donationsGoogle = donationsGoogle;
|
||||
this.donationsGoogleAndroidMarketDonateButton = donationsGoogleAndroidMarketDonateButton;
|
||||
this.donationsGoogleAndroidMarketSpinner = donationsGoogleAndroidMarketSpinner;
|
||||
this.donationsMoreDonateButton = donationsMoreDonateButton;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public ScrollView getRoot() {
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static FragmentEbegBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, null, false);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static FragmentEbegBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||
View root = inflater.inflate(R.layout.fragment_ebeg, parent, false);
|
||||
if (attachToParent) {
|
||||
parent.addView(root);
|
||||
}
|
||||
return bind(root);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static FragmentEbegBinding bind(@NonNull View rootView) {
|
||||
// The body of this method is generated in a way you would not otherwise write.
|
||||
// This is done to optimize the compiled bytecode for size and performance.
|
||||
int id;
|
||||
missingId: {
|
||||
id = R.id.donations__google;
|
||||
LinearLayout donationsGoogle = ViewBindings.findChildViewById(rootView, id);
|
||||
if (donationsGoogle == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.donations__google_android_market_donate_button;
|
||||
Button donationsGoogleAndroidMarketDonateButton = ViewBindings.findChildViewById(rootView, id);
|
||||
if (donationsGoogleAndroidMarketDonateButton == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.donations__google_android_market_spinner;
|
||||
Spinner donationsGoogleAndroidMarketSpinner = ViewBindings.findChildViewById(rootView, id);
|
||||
if (donationsGoogleAndroidMarketSpinner == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.donations__more_donate_button;
|
||||
Button donationsMoreDonateButton = ViewBindings.findChildViewById(rootView, id);
|
||||
if (donationsMoreDonateButton == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
return new FragmentEbegBinding((ScrollView) rootView, donationsGoogle,
|
||||
donationsGoogleAndroidMarketDonateButton, donationsGoogleAndroidMarketSpinner,
|
||||
donationsMoreDonateButton);
|
||||
}
|
||||
String missingId = rootView.getResources().getResourceName(id);
|
||||
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
// Generated by view binder compiler. Do not edit!
|
||||
package hanson.xyz.vpnhotspotmod.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.viewbinding.ViewBinding;
|
||||
import hanson.xyz.vpnhotspotmod.R;
|
||||
import java.lang.NullPointerException;
|
||||
import java.lang.Override;
|
||||
|
||||
public final class FragmentTetheringBinding implements ViewBinding {
|
||||
@NonNull
|
||||
private final RecyclerView rootView;
|
||||
|
||||
@NonNull
|
||||
public final RecyclerView interfaces;
|
||||
|
||||
private FragmentTetheringBinding(@NonNull RecyclerView rootView,
|
||||
@NonNull RecyclerView interfaces) {
|
||||
this.rootView = rootView;
|
||||
this.interfaces = interfaces;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public RecyclerView getRoot() {
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static FragmentTetheringBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, null, false);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static FragmentTetheringBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||
View root = inflater.inflate(R.layout.fragment_tethering, parent, false);
|
||||
if (attachToParent) {
|
||||
parent.addView(root);
|
||||
}
|
||||
return bind(root);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static FragmentTetheringBinding bind(@NonNull View rootView) {
|
||||
if (rootView == null) {
|
||||
throw new NullPointerException("rootView");
|
||||
}
|
||||
|
||||
RecyclerView interfaces = (RecyclerView) rootView;
|
||||
|
||||
return new FragmentTetheringBinding((RecyclerView) rootView, interfaces);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,103 @@
|
||||
// Generated by data binding compiler. Do not edit!
|
||||
package hanson.xyz.vpnhotspotmod.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.databinding.Bindable;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
import androidx.databinding.ViewDataBinding;
|
||||
import hanson.xyz.vpnhotspotmod.R;
|
||||
import hanson.xyz.vpnhotspotmod.client.Client;
|
||||
import hanson.xyz.vpnhotspotmod.client.ClientsFragment;
|
||||
import hanson.xyz.vpnhotspotmod.widget.AutoCollapseTextView;
|
||||
import java.lang.Deprecated;
|
||||
import java.lang.Object;
|
||||
|
||||
public abstract class ListitemClientBinding extends ViewDataBinding {
|
||||
@NonNull
|
||||
public final AutoCollapseTextView description;
|
||||
|
||||
@Bindable
|
||||
protected Client mClient;
|
||||
|
||||
@Bindable
|
||||
protected ClientsFragment.TrafficRate mRate;
|
||||
|
||||
protected ListitemClientBinding(Object _bindingComponent, View _root, int _localFieldCount,
|
||||
AutoCollapseTextView description) {
|
||||
super(_bindingComponent, _root, _localFieldCount);
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
public abstract void setClient(@Nullable Client client);
|
||||
|
||||
@Nullable
|
||||
public Client getClient() {
|
||||
return mClient;
|
||||
}
|
||||
|
||||
public abstract void setRate(@Nullable ClientsFragment.TrafficRate rate);
|
||||
|
||||
@Nullable
|
||||
public ClientsFragment.TrafficRate getRate() {
|
||||
return mRate;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ListitemClientBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup root, boolean attachToRoot) {
|
||||
return inflate(inflater, root, attachToRoot, DataBindingUtil.getDefaultComponent());
|
||||
}
|
||||
|
||||
/**
|
||||
* This method receives DataBindingComponent instance as type Object instead of
|
||||
* type DataBindingComponent to avoid causing too many compilation errors if
|
||||
* compilation fails for another reason.
|
||||
* https://issuetracker.google.com/issues/116541301
|
||||
* @Deprecated Use DataBindingUtil.inflate(inflater, R.layout.listitem_client, root, attachToRoot, component)
|
||||
*/
|
||||
@NonNull
|
||||
@Deprecated
|
||||
public static ListitemClientBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup root, boolean attachToRoot, @Nullable Object component) {
|
||||
return ViewDataBinding.<ListitemClientBinding>inflateInternal(inflater, R.layout.listitem_client, root, attachToRoot, component);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ListitemClientBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, DataBindingUtil.getDefaultComponent());
|
||||
}
|
||||
|
||||
/**
|
||||
* This method receives DataBindingComponent instance as type Object instead of
|
||||
* type DataBindingComponent to avoid causing too many compilation errors if
|
||||
* compilation fails for another reason.
|
||||
* https://issuetracker.google.com/issues/116541301
|
||||
* @Deprecated Use DataBindingUtil.inflate(inflater, R.layout.listitem_client, null, false, component)
|
||||
*/
|
||||
@NonNull
|
||||
@Deprecated
|
||||
public static ListitemClientBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable Object component) {
|
||||
return ViewDataBinding.<ListitemClientBinding>inflateInternal(inflater, R.layout.listitem_client, null, false, component);
|
||||
}
|
||||
|
||||
public static ListitemClientBinding bind(@NonNull View view) {
|
||||
return bind(view, DataBindingUtil.getDefaultComponent());
|
||||
}
|
||||
|
||||
/**
|
||||
* This method receives DataBindingComponent instance as type Object instead of
|
||||
* type DataBindingComponent to avoid causing too many compilation errors if
|
||||
* compilation fails for another reason.
|
||||
* https://issuetracker.google.com/issues/116541301
|
||||
* @Deprecated Use DataBindingUtil.bind(view, component)
|
||||
*/
|
||||
@Deprecated
|
||||
public static ListitemClientBinding bind(@NonNull View view, @Nullable Object component) {
|
||||
return (ListitemClientBinding)bind(component, view, R.layout.listitem_client);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,92 @@
|
||||
// Generated by data binding compiler. Do not edit!
|
||||
package hanson.xyz.vpnhotspotmod.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.databinding.Bindable;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
import androidx.databinding.ViewDataBinding;
|
||||
import hanson.xyz.vpnhotspotmod.R;
|
||||
import hanson.xyz.vpnhotspotmod.manage.Data;
|
||||
import hanson.xyz.vpnhotspotmod.widget.AutoCollapseTextView;
|
||||
import java.lang.Deprecated;
|
||||
import java.lang.Object;
|
||||
|
||||
public abstract class ListitemInterfaceBinding extends ViewDataBinding {
|
||||
@NonNull
|
||||
public final AutoCollapseTextView text;
|
||||
|
||||
@Bindable
|
||||
protected Data mData;
|
||||
|
||||
protected ListitemInterfaceBinding(Object _bindingComponent, View _root, int _localFieldCount,
|
||||
AutoCollapseTextView text) {
|
||||
super(_bindingComponent, _root, _localFieldCount);
|
||||
this.text = text;
|
||||
}
|
||||
|
||||
public abstract void setData(@Nullable Data data);
|
||||
|
||||
@Nullable
|
||||
public Data getData() {
|
||||
return mData;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ListitemInterfaceBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup root, boolean attachToRoot) {
|
||||
return inflate(inflater, root, attachToRoot, DataBindingUtil.getDefaultComponent());
|
||||
}
|
||||
|
||||
/**
|
||||
* This method receives DataBindingComponent instance as type Object instead of
|
||||
* type DataBindingComponent to avoid causing too many compilation errors if
|
||||
* compilation fails for another reason.
|
||||
* https://issuetracker.google.com/issues/116541301
|
||||
* @Deprecated Use DataBindingUtil.inflate(inflater, R.layout.listitem_interface, root, attachToRoot, component)
|
||||
*/
|
||||
@NonNull
|
||||
@Deprecated
|
||||
public static ListitemInterfaceBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup root, boolean attachToRoot, @Nullable Object component) {
|
||||
return ViewDataBinding.<ListitemInterfaceBinding>inflateInternal(inflater, R.layout.listitem_interface, root, attachToRoot, component);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ListitemInterfaceBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, DataBindingUtil.getDefaultComponent());
|
||||
}
|
||||
|
||||
/**
|
||||
* This method receives DataBindingComponent instance as type Object instead of
|
||||
* type DataBindingComponent to avoid causing too many compilation errors if
|
||||
* compilation fails for another reason.
|
||||
* https://issuetracker.google.com/issues/116541301
|
||||
* @Deprecated Use DataBindingUtil.inflate(inflater, R.layout.listitem_interface, null, false, component)
|
||||
*/
|
||||
@NonNull
|
||||
@Deprecated
|
||||
public static ListitemInterfaceBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable Object component) {
|
||||
return ViewDataBinding.<ListitemInterfaceBinding>inflateInternal(inflater, R.layout.listitem_interface, null, false, component);
|
||||
}
|
||||
|
||||
public static ListitemInterfaceBinding bind(@NonNull View view) {
|
||||
return bind(view, DataBindingUtil.getDefaultComponent());
|
||||
}
|
||||
|
||||
/**
|
||||
* This method receives DataBindingComponent instance as type Object instead of
|
||||
* type DataBindingComponent to avoid causing too many compilation errors if
|
||||
* compilation fails for another reason.
|
||||
* https://issuetracker.google.com/issues/116541301
|
||||
* @Deprecated Use DataBindingUtil.bind(view, component)
|
||||
*/
|
||||
@Deprecated
|
||||
public static ListitemInterfaceBinding bind(@NonNull View view, @Nullable Object component) {
|
||||
return (ListitemInterfaceBinding)bind(component, view, R.layout.listitem_interface);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,92 @@
|
||||
// Generated by data binding compiler. Do not edit!
|
||||
package hanson.xyz.vpnhotspotmod.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.TextView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.databinding.Bindable;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
import androidx.databinding.ViewDataBinding;
|
||||
import hanson.xyz.vpnhotspotmod.R;
|
||||
import hanson.xyz.vpnhotspotmod.manage.ManageBar;
|
||||
import java.lang.Deprecated;
|
||||
import java.lang.Object;
|
||||
|
||||
public abstract class ListitemManageBinding extends ViewDataBinding {
|
||||
@NonNull
|
||||
public final TextView offloadEnabled;
|
||||
|
||||
@Bindable
|
||||
protected ManageBar.Data mData;
|
||||
|
||||
protected ListitemManageBinding(Object _bindingComponent, View _root, int _localFieldCount,
|
||||
TextView offloadEnabled) {
|
||||
super(_bindingComponent, _root, _localFieldCount);
|
||||
this.offloadEnabled = offloadEnabled;
|
||||
}
|
||||
|
||||
public abstract void setData(@Nullable ManageBar.Data data);
|
||||
|
||||
@Nullable
|
||||
public ManageBar.Data getData() {
|
||||
return mData;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ListitemManageBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup root, boolean attachToRoot) {
|
||||
return inflate(inflater, root, attachToRoot, DataBindingUtil.getDefaultComponent());
|
||||
}
|
||||
|
||||
/**
|
||||
* This method receives DataBindingComponent instance as type Object instead of
|
||||
* type DataBindingComponent to avoid causing too many compilation errors if
|
||||
* compilation fails for another reason.
|
||||
* https://issuetracker.google.com/issues/116541301
|
||||
* @Deprecated Use DataBindingUtil.inflate(inflater, R.layout.listitem_manage, root, attachToRoot, component)
|
||||
*/
|
||||
@NonNull
|
||||
@Deprecated
|
||||
public static ListitemManageBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup root, boolean attachToRoot, @Nullable Object component) {
|
||||
return ViewDataBinding.<ListitemManageBinding>inflateInternal(inflater, R.layout.listitem_manage, root, attachToRoot, component);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ListitemManageBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, DataBindingUtil.getDefaultComponent());
|
||||
}
|
||||
|
||||
/**
|
||||
* This method receives DataBindingComponent instance as type Object instead of
|
||||
* type DataBindingComponent to avoid causing too many compilation errors if
|
||||
* compilation fails for another reason.
|
||||
* https://issuetracker.google.com/issues/116541301
|
||||
* @Deprecated Use DataBindingUtil.inflate(inflater, R.layout.listitem_manage, null, false, component)
|
||||
*/
|
||||
@NonNull
|
||||
@Deprecated
|
||||
public static ListitemManageBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable Object component) {
|
||||
return ViewDataBinding.<ListitemManageBinding>inflateInternal(inflater, R.layout.listitem_manage, null, false, component);
|
||||
}
|
||||
|
||||
public static ListitemManageBinding bind(@NonNull View view) {
|
||||
return bind(view, DataBindingUtil.getDefaultComponent());
|
||||
}
|
||||
|
||||
/**
|
||||
* This method receives DataBindingComponent instance as type Object instead of
|
||||
* type DataBindingComponent to avoid causing too many compilation errors if
|
||||
* compilation fails for another reason.
|
||||
* https://issuetracker.google.com/issues/116541301
|
||||
* @Deprecated Use DataBindingUtil.bind(view, component)
|
||||
*/
|
||||
@Deprecated
|
||||
public static ListitemManageBinding bind(@NonNull View view, @Nullable Object component) {
|
||||
return (ListitemManageBinding)bind(component, view, R.layout.listitem_manage);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,92 @@
|
||||
// Generated by data binding compiler. Do not edit!
|
||||
package hanson.xyz.vpnhotspotmod.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.databinding.Bindable;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
import androidx.databinding.ViewDataBinding;
|
||||
import hanson.xyz.vpnhotspotmod.R;
|
||||
import hanson.xyz.vpnhotspotmod.manage.RepeaterManager;
|
||||
import hanson.xyz.vpnhotspotmod.widget.AutoCollapseTextView;
|
||||
import java.lang.Deprecated;
|
||||
import java.lang.Object;
|
||||
|
||||
public abstract class ListitemRepeaterBinding extends ViewDataBinding {
|
||||
@NonNull
|
||||
public final AutoCollapseTextView addresses;
|
||||
|
||||
@Bindable
|
||||
protected RepeaterManager.Data mData;
|
||||
|
||||
protected ListitemRepeaterBinding(Object _bindingComponent, View _root, int _localFieldCount,
|
||||
AutoCollapseTextView addresses) {
|
||||
super(_bindingComponent, _root, _localFieldCount);
|
||||
this.addresses = addresses;
|
||||
}
|
||||
|
||||
public abstract void setData(@Nullable RepeaterManager.Data data);
|
||||
|
||||
@Nullable
|
||||
public RepeaterManager.Data getData() {
|
||||
return mData;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ListitemRepeaterBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup root, boolean attachToRoot) {
|
||||
return inflate(inflater, root, attachToRoot, DataBindingUtil.getDefaultComponent());
|
||||
}
|
||||
|
||||
/**
|
||||
* This method receives DataBindingComponent instance as type Object instead of
|
||||
* type DataBindingComponent to avoid causing too many compilation errors if
|
||||
* compilation fails for another reason.
|
||||
* https://issuetracker.google.com/issues/116541301
|
||||
* @Deprecated Use DataBindingUtil.inflate(inflater, R.layout.listitem_repeater, root, attachToRoot, component)
|
||||
*/
|
||||
@NonNull
|
||||
@Deprecated
|
||||
public static ListitemRepeaterBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup root, boolean attachToRoot, @Nullable Object component) {
|
||||
return ViewDataBinding.<ListitemRepeaterBinding>inflateInternal(inflater, R.layout.listitem_repeater, root, attachToRoot, component);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ListitemRepeaterBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, DataBindingUtil.getDefaultComponent());
|
||||
}
|
||||
|
||||
/**
|
||||
* This method receives DataBindingComponent instance as type Object instead of
|
||||
* type DataBindingComponent to avoid causing too many compilation errors if
|
||||
* compilation fails for another reason.
|
||||
* https://issuetracker.google.com/issues/116541301
|
||||
* @Deprecated Use DataBindingUtil.inflate(inflater, R.layout.listitem_repeater, null, false, component)
|
||||
*/
|
||||
@NonNull
|
||||
@Deprecated
|
||||
public static ListitemRepeaterBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable Object component) {
|
||||
return ViewDataBinding.<ListitemRepeaterBinding>inflateInternal(inflater, R.layout.listitem_repeater, null, false, component);
|
||||
}
|
||||
|
||||
public static ListitemRepeaterBinding bind(@NonNull View view) {
|
||||
return bind(view, DataBindingUtil.getDefaultComponent());
|
||||
}
|
||||
|
||||
/**
|
||||
* This method receives DataBindingComponent instance as type Object instead of
|
||||
* type DataBindingComponent to avoid causing too many compilation errors if
|
||||
* compilation fails for another reason.
|
||||
* https://issuetracker.google.com/issues/116541301
|
||||
* @Deprecated Use DataBindingUtil.bind(view, component)
|
||||
*/
|
||||
@Deprecated
|
||||
public static ListitemRepeaterBinding bind(@NonNull View view, @Nullable Object component) {
|
||||
return (ListitemRepeaterBinding)bind(component, view, R.layout.listitem_repeater);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
// Generated by view binder compiler. Do not edit!
|
||||
package hanson.xyz.vpnhotspotmod.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.viewbinding.ViewBinding;
|
||||
import androidx.viewbinding.ViewBindings;
|
||||
import hanson.xyz.vpnhotspotmod.R;
|
||||
import java.lang.NullPointerException;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
|
||||
public final class PreferenceMaterialBinding implements ViewBinding {
|
||||
@NonNull
|
||||
private final LinearLayout rootView;
|
||||
|
||||
@NonNull
|
||||
public final TextView summary;
|
||||
|
||||
@NonNull
|
||||
public final TextView title;
|
||||
|
||||
@NonNull
|
||||
public final LinearLayout widgetFrame;
|
||||
|
||||
private PreferenceMaterialBinding(@NonNull LinearLayout rootView, @NonNull TextView summary,
|
||||
@NonNull TextView title, @NonNull LinearLayout widgetFrame) {
|
||||
this.rootView = rootView;
|
||||
this.summary = summary;
|
||||
this.title = title;
|
||||
this.widgetFrame = widgetFrame;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public LinearLayout getRoot() {
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static PreferenceMaterialBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, null, false);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static PreferenceMaterialBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||
View root = inflater.inflate(R.layout.preference_material, parent, false);
|
||||
if (attachToParent) {
|
||||
parent.addView(root);
|
||||
}
|
||||
return bind(root);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static PreferenceMaterialBinding bind(@NonNull View rootView) {
|
||||
// The body of this method is generated in a way you would not otherwise write.
|
||||
// This is done to optimize the compiled bytecode for size and performance.
|
||||
int id;
|
||||
missingId: {
|
||||
id = android.R.id.summary;
|
||||
TextView summary = ViewBindings.findChildViewById(rootView, id);
|
||||
if (summary == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = android.R.id.title;
|
||||
TextView title = ViewBindings.findChildViewById(rootView, id);
|
||||
if (title == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = android.R.id.widget_frame;
|
||||
LinearLayout widgetFrame = ViewBindings.findChildViewById(rootView, id);
|
||||
if (widgetFrame == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
return new PreferenceMaterialBinding((LinearLayout) rootView, summary, title, widgetFrame);
|
||||
}
|
||||
String missingId = rootView.getResources().getResourceName(id);
|
||||
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
// Generated by view binder compiler. Do not edit!
|
||||
package hanson.xyz.vpnhotspotmod.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.viewbinding.ViewBinding;
|
||||
import androidx.viewbinding.ViewBindings;
|
||||
import com.google.android.material.textfield.TextInputLayout;
|
||||
import hanson.xyz.vpnhotspotmod.R;
|
||||
import hanson.xyz.vpnhotspotmod.widget.AlwaysAutoCompleteEditText;
|
||||
import java.lang.NullPointerException;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
|
||||
public final class PreferenceWidgetEdittextAutocompleteBinding implements ViewBinding {
|
||||
@NonNull
|
||||
private final TextInputLayout rootView;
|
||||
|
||||
@NonNull
|
||||
public final AlwaysAutoCompleteEditText edit;
|
||||
|
||||
private PreferenceWidgetEdittextAutocompleteBinding(@NonNull TextInputLayout rootView,
|
||||
@NonNull AlwaysAutoCompleteEditText edit) {
|
||||
this.rootView = rootView;
|
||||
this.edit = edit;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public TextInputLayout getRoot() {
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static PreferenceWidgetEdittextAutocompleteBinding inflate(
|
||||
@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, null, false);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static PreferenceWidgetEdittextAutocompleteBinding inflate(
|
||||
@NonNull LayoutInflater inflater, @Nullable ViewGroup parent, boolean attachToParent) {
|
||||
View root = inflater.inflate(R.layout.preference_widget_edittext_autocomplete, parent, false);
|
||||
if (attachToParent) {
|
||||
parent.addView(root);
|
||||
}
|
||||
return bind(root);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static PreferenceWidgetEdittextAutocompleteBinding bind(@NonNull View rootView) {
|
||||
// The body of this method is generated in a way you would not otherwise write.
|
||||
// This is done to optimize the compiled bytecode for size and performance.
|
||||
int id;
|
||||
missingId: {
|
||||
id = android.R.id.edit;
|
||||
AlwaysAutoCompleteEditText edit = ViewBindings.findChildViewById(rootView, id);
|
||||
if (edit == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
return new PreferenceWidgetEdittextAutocompleteBinding((TextInputLayout) rootView, edit);
|
||||
}
|
||||
String missingId = rootView.getResources().getResourceName(id);
|
||||
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
// Generated by view binder compiler. Do not edit!
|
||||
package hanson.xyz.vpnhotspotmod.databinding;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.viewbinding.ViewBinding;
|
||||
import com.google.android.material.materialswitch.MaterialSwitch;
|
||||
import hanson.xyz.vpnhotspotmod.R;
|
||||
import java.lang.NullPointerException;
|
||||
import java.lang.Override;
|
||||
|
||||
public final class PreferenceWidgetMaterialSwitchBinding implements ViewBinding {
|
||||
@NonNull
|
||||
private final MaterialSwitch rootView;
|
||||
|
||||
@NonNull
|
||||
public final MaterialSwitch switchWidget;
|
||||
|
||||
private PreferenceWidgetMaterialSwitchBinding(@NonNull MaterialSwitch rootView,
|
||||
@NonNull MaterialSwitch switchWidget) {
|
||||
this.rootView = rootView;
|
||||
this.switchWidget = switchWidget;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public MaterialSwitch getRoot() {
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static PreferenceWidgetMaterialSwitchBinding inflate(@NonNull LayoutInflater inflater) {
|
||||
return inflate(inflater, null, false);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static PreferenceWidgetMaterialSwitchBinding inflate(@NonNull LayoutInflater inflater,
|
||||
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||
View root = inflater.inflate(R.layout.preference_widget_material_switch, parent, false);
|
||||
if (attachToParent) {
|
||||
parent.addView(root);
|
||||
}
|
||||
return bind(root);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static PreferenceWidgetMaterialSwitchBinding bind(@NonNull View rootView) {
|
||||
if (rootView == null) {
|
||||
throw new NullPointerException("rootView");
|
||||
}
|
||||
|
||||
MaterialSwitch switchWidget = (MaterialSwitch) rootView;
|
||||
|
||||
return new PreferenceWidgetMaterialSwitchBinding((MaterialSwitch) rootView, switchWidget);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package hanson.xyz.vpnhotspotmod;
|
||||
|
||||
@androidx.databinding.BindingBuildInfo
|
||||
public class DataBindingTriggerClass {}
|
||||
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="default_web_client_id" translatable="false">13108846109-5iemp5pbapg7n5epbk0mv96007m9bhmg.apps.googleusercontent.com</string>
|
||||
<string name="firebase_database_url" translatable="false">https://mygod-vpnhotspot.firebaseio.com</string>
|
||||
<string name="gcm_defaultSenderId" translatable="false">13108846109</string>
|
||||
<string name="google_api_key" translatable="false">AIzaSyADp0gTf25H6H3KxDRKwvp0EaWq_XvYUmg</string>
|
||||
<string name="google_app_id" translatable="false">1:13108846109:android:63120dcb2e900ed0</string>
|
||||
<string name="google_crash_reporting_api_key" translatable="false">AIzaSyADp0gTf25H6H3KxDRKwvp0EaWq_XvYUmg</string>
|
||||
<string name="google_storage_bucket" translatable="false">mygod-vpnhotspot.appspot.com</string>
|
||||
<string name="project_id" translatable="false">mygod-vpnhotspot</string>
|
||||
</resources>
|
||||
@@ -0,0 +1,13 @@
|
||||
/**
|
||||
* Automatically generated file. DO NOT MODIFY
|
||||
*/
|
||||
package hanson.xyz.vpnhotspotmod;
|
||||
|
||||
public final class BuildConfig {
|
||||
public static final boolean DEBUG = Boolean.parseBoolean("true");
|
||||
public static final String APPLICATION_ID = "hanson.xyz.vpnhotspotmod";
|
||||
public static final String BUILD_TYPE = "debug";
|
||||
public static final String FLAVOR = "freedom";
|
||||
public static final int VERSION_CODE = 1005;
|
||||
public static final String VERSION_NAME = "2.16.5";
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package androidx.databinding;
|
||||
|
||||
public class DataBinderMapperImpl extends MergedDataBinderMapper {
|
||||
DataBinderMapperImpl() {
|
||||
addMapper(new hanson.xyz.vpnhotspotmod.DataBinderMapperImpl());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package androidx.databinding;
|
||||
|
||||
public interface DataBindingComponent {
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package androidx.databinding.library.baseAdapters;
|
||||
|
||||
public class BR {
|
||||
public static final int _all = 0;
|
||||
|
||||
public static final int addresses = 1;
|
||||
|
||||
public static final int client = 2;
|
||||
|
||||
public static final int data = 3;
|
||||
|
||||
public static final int rate = 4;
|
||||
|
||||
public static final int serviceStarted = 5;
|
||||
|
||||
public static final int switchEnabled = 6;
|
||||
|
||||
public static final int title = 7;
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package hanson.xyz.vpnhotspotmod;
|
||||
|
||||
public class BR {
|
||||
public static final int _all = 0;
|
||||
|
||||
public static final int addresses = 1;
|
||||
|
||||
public static final int client = 2;
|
||||
|
||||
public static final int data = 3;
|
||||
|
||||
public static final int rate = 4;
|
||||
|
||||
public static final int serviceStarted = 5;
|
||||
|
||||
public static final int switchEnabled = 6;
|
||||
|
||||
public static final int title = 7;
|
||||
}
|
||||
@@ -0,0 +1,143 @@
|
||||
package hanson.xyz.vpnhotspotmod;
|
||||
|
||||
import android.util.SparseArray;
|
||||
import android.util.SparseIntArray;
|
||||
import android.view.View;
|
||||
import androidx.databinding.DataBinderMapper;
|
||||
import androidx.databinding.DataBindingComponent;
|
||||
import androidx.databinding.ViewDataBinding;
|
||||
import hanson.xyz.vpnhotspotmod.databinding.ListitemClientBindingImpl;
|
||||
import hanson.xyz.vpnhotspotmod.databinding.ListitemInterfaceBindingImpl;
|
||||
import hanson.xyz.vpnhotspotmod.databinding.ListitemManageBindingImpl;
|
||||
import hanson.xyz.vpnhotspotmod.databinding.ListitemRepeaterBindingImpl;
|
||||
import java.lang.IllegalArgumentException;
|
||||
import java.lang.Integer;
|
||||
import java.lang.Object;
|
||||
import java.lang.Override;
|
||||
import java.lang.RuntimeException;
|
||||
import java.lang.String;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
public class DataBinderMapperImpl extends DataBinderMapper {
|
||||
private static final int LAYOUT_LISTITEMCLIENT = 1;
|
||||
|
||||
private static final int LAYOUT_LISTITEMINTERFACE = 2;
|
||||
|
||||
private static final int LAYOUT_LISTITEMMANAGE = 3;
|
||||
|
||||
private static final int LAYOUT_LISTITEMREPEATER = 4;
|
||||
|
||||
private static final SparseIntArray INTERNAL_LAYOUT_ID_LOOKUP = new SparseIntArray(4);
|
||||
|
||||
static {
|
||||
INTERNAL_LAYOUT_ID_LOOKUP.put(hanson.xyz.vpnhotspotmod.R.layout.listitem_client, LAYOUT_LISTITEMCLIENT);
|
||||
INTERNAL_LAYOUT_ID_LOOKUP.put(hanson.xyz.vpnhotspotmod.R.layout.listitem_interface, LAYOUT_LISTITEMINTERFACE);
|
||||
INTERNAL_LAYOUT_ID_LOOKUP.put(hanson.xyz.vpnhotspotmod.R.layout.listitem_manage, LAYOUT_LISTITEMMANAGE);
|
||||
INTERNAL_LAYOUT_ID_LOOKUP.put(hanson.xyz.vpnhotspotmod.R.layout.listitem_repeater, LAYOUT_LISTITEMREPEATER);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ViewDataBinding getDataBinder(DataBindingComponent component, View view, int layoutId) {
|
||||
int localizedLayoutId = INTERNAL_LAYOUT_ID_LOOKUP.get(layoutId);
|
||||
if(localizedLayoutId > 0) {
|
||||
final Object tag = view.getTag();
|
||||
if(tag == null) {
|
||||
throw new RuntimeException("view must have a tag");
|
||||
}
|
||||
switch(localizedLayoutId) {
|
||||
case LAYOUT_LISTITEMCLIENT: {
|
||||
if ("layout/listitem_client_0".equals(tag)) {
|
||||
return new ListitemClientBindingImpl(component, view);
|
||||
}
|
||||
throw new IllegalArgumentException("The tag for listitem_client is invalid. Received: " + tag);
|
||||
}
|
||||
case LAYOUT_LISTITEMINTERFACE: {
|
||||
if ("layout/listitem_interface_0".equals(tag)) {
|
||||
return new ListitemInterfaceBindingImpl(component, view);
|
||||
}
|
||||
throw new IllegalArgumentException("The tag for listitem_interface is invalid. Received: " + tag);
|
||||
}
|
||||
case LAYOUT_LISTITEMMANAGE: {
|
||||
if ("layout/listitem_manage_0".equals(tag)) {
|
||||
return new ListitemManageBindingImpl(component, view);
|
||||
}
|
||||
throw new IllegalArgumentException("The tag for listitem_manage is invalid. Received: " + tag);
|
||||
}
|
||||
case LAYOUT_LISTITEMREPEATER: {
|
||||
if ("layout/listitem_repeater_0".equals(tag)) {
|
||||
return new ListitemRepeaterBindingImpl(component, view);
|
||||
}
|
||||
throw new IllegalArgumentException("The tag for listitem_repeater is invalid. Received: " + tag);
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ViewDataBinding getDataBinder(DataBindingComponent component, View[] views, int layoutId) {
|
||||
if(views == null || views.length == 0) {
|
||||
return null;
|
||||
}
|
||||
int localizedLayoutId = INTERNAL_LAYOUT_ID_LOOKUP.get(layoutId);
|
||||
if(localizedLayoutId > 0) {
|
||||
final Object tag = views[0].getTag();
|
||||
if(tag == null) {
|
||||
throw new RuntimeException("view must have a tag");
|
||||
}
|
||||
switch(localizedLayoutId) {
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getLayoutId(String tag) {
|
||||
if (tag == null) {
|
||||
return 0;
|
||||
}
|
||||
Integer tmpVal = InnerLayoutIdLookup.sKeys.get(tag);
|
||||
return tmpVal == null ? 0 : tmpVal;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String convertBrIdToString(int localId) {
|
||||
String tmpVal = InnerBrLookup.sKeys.get(localId);
|
||||
return tmpVal;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DataBinderMapper> collectDependencies() {
|
||||
ArrayList<DataBinderMapper> result = new ArrayList<DataBinderMapper>(1);
|
||||
result.add(new androidx.databinding.library.baseAdapters.DataBinderMapperImpl());
|
||||
return result;
|
||||
}
|
||||
|
||||
private static class InnerBrLookup {
|
||||
static final SparseArray<String> sKeys = new SparseArray<String>(8);
|
||||
|
||||
static {
|
||||
sKeys.put(0, "_all");
|
||||
sKeys.put(1, "addresses");
|
||||
sKeys.put(2, "client");
|
||||
sKeys.put(3, "data");
|
||||
sKeys.put(4, "rate");
|
||||
sKeys.put(5, "serviceStarted");
|
||||
sKeys.put(6, "switchEnabled");
|
||||
sKeys.put(7, "title");
|
||||
}
|
||||
}
|
||||
|
||||
private static class InnerLayoutIdLookup {
|
||||
static final HashMap<String, Integer> sKeys = new HashMap<String, Integer>(4);
|
||||
|
||||
static {
|
||||
sKeys.put("layout/listitem_client_0", hanson.xyz.vpnhotspotmod.R.layout.listitem_client);
|
||||
sKeys.put("layout/listitem_interface_0", hanson.xyz.vpnhotspotmod.R.layout.listitem_interface);
|
||||
sKeys.put("layout/listitem_manage_0", hanson.xyz.vpnhotspotmod.R.layout.listitem_manage);
|
||||
sKeys.put("layout/listitem_repeater_0", hanson.xyz.vpnhotspotmod.R.layout.listitem_repeater);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,282 @@
|
||||
package hanson.xyz.vpnhotspotmod.databinding;
|
||||
import hanson.xyz.vpnhotspotmod.R;
|
||||
import hanson.xyz.vpnhotspotmod.BR;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import android.view.View;
|
||||
@SuppressWarnings("unchecked")
|
||||
public class ListitemClientBindingImpl extends ListitemClientBinding {
|
||||
|
||||
@Nullable
|
||||
private static final androidx.databinding.ViewDataBinding.IncludedLayouts sIncludes;
|
||||
@Nullable
|
||||
private static final android.util.SparseIntArray sViewsWithIds;
|
||||
static {
|
||||
sIncludes = null;
|
||||
sViewsWithIds = null;
|
||||
}
|
||||
// views
|
||||
@NonNull
|
||||
private final android.widget.LinearLayout mboundView0;
|
||||
@NonNull
|
||||
private final android.widget.ImageView mboundView1;
|
||||
@NonNull
|
||||
private final hanson.xyz.vpnhotspotmod.widget.LinkTextView mboundView2;
|
||||
@NonNull
|
||||
private final hanson.xyz.vpnhotspotmod.widget.AutoCollapseTextView mboundView4;
|
||||
// variables
|
||||
// values
|
||||
// listeners
|
||||
// Inverse Binding Event Handlers
|
||||
|
||||
public ListitemClientBindingImpl(@Nullable androidx.databinding.DataBindingComponent bindingComponent, @NonNull View root) {
|
||||
this(bindingComponent, root, mapBindings(bindingComponent, root, 5, sIncludes, sViewsWithIds));
|
||||
}
|
||||
private ListitemClientBindingImpl(androidx.databinding.DataBindingComponent bindingComponent, View root, Object[] bindings) {
|
||||
super(bindingComponent, root, 4
|
||||
, (hanson.xyz.vpnhotspotmod.widget.AutoCollapseTextView) bindings[3]
|
||||
);
|
||||
this.description.setTag(null);
|
||||
this.mboundView0 = (android.widget.LinearLayout) bindings[0];
|
||||
this.mboundView0.setTag(null);
|
||||
this.mboundView1 = (android.widget.ImageView) bindings[1];
|
||||
this.mboundView1.setTag(null);
|
||||
this.mboundView2 = (hanson.xyz.vpnhotspotmod.widget.LinkTextView) bindings[2];
|
||||
this.mboundView2.setTag(null);
|
||||
this.mboundView4 = (hanson.xyz.vpnhotspotmod.widget.AutoCollapseTextView) bindings[4];
|
||||
this.mboundView4.setTag(null);
|
||||
setRootTag(root);
|
||||
// listeners
|
||||
invalidateAll();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void invalidateAll() {
|
||||
synchronized(this) {
|
||||
mDirtyFlags = 0x20L;
|
||||
}
|
||||
requestRebind();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasPendingBindings() {
|
||||
synchronized(this) {
|
||||
if (mDirtyFlags != 0) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setVariable(int variableId, @Nullable Object variable) {
|
||||
boolean variableSet = true;
|
||||
if (BR.rate == variableId) {
|
||||
setRate((hanson.xyz.vpnhotspotmod.client.ClientsFragment.TrafficRate) variable);
|
||||
}
|
||||
else if (BR.client == variableId) {
|
||||
setClient((hanson.xyz.vpnhotspotmod.client.Client) variable);
|
||||
}
|
||||
else {
|
||||
variableSet = false;
|
||||
}
|
||||
return variableSet;
|
||||
}
|
||||
|
||||
public void setRate(@Nullable hanson.xyz.vpnhotspotmod.client.ClientsFragment.TrafficRate Rate) {
|
||||
updateRegistration(0, Rate);
|
||||
this.mRate = Rate;
|
||||
synchronized(this) {
|
||||
mDirtyFlags |= 0x1L;
|
||||
}
|
||||
notifyPropertyChanged(BR.rate);
|
||||
super.requestRebind();
|
||||
}
|
||||
public void setClient(@Nullable hanson.xyz.vpnhotspotmod.client.Client Client) {
|
||||
this.mClient = Client;
|
||||
synchronized(this) {
|
||||
mDirtyFlags |= 0x10L;
|
||||
}
|
||||
notifyPropertyChanged(BR.client);
|
||||
super.requestRebind();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean onFieldChange(int localFieldId, Object object, int fieldId) {
|
||||
switch (localFieldId) {
|
||||
case 0 :
|
||||
return onChangeRate((hanson.xyz.vpnhotspotmod.client.ClientsFragment.TrafficRate) object, fieldId);
|
||||
case 1 :
|
||||
return onChangeClientTitleSelectable((androidx.lifecycle.LiveData<java.lang.Boolean>) object, fieldId);
|
||||
case 2 :
|
||||
return onChangeClientDescription((androidx.lifecycle.LiveData<java.lang.CharSequence>) object, fieldId);
|
||||
case 3 :
|
||||
return onChangeClientTitle((androidx.lifecycle.LiveData<android.text.SpannableStringBuilder>) object, fieldId);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
private boolean onChangeRate(hanson.xyz.vpnhotspotmod.client.ClientsFragment.TrafficRate Rate, int fieldId) {
|
||||
if (fieldId == BR._all) {
|
||||
synchronized(this) {
|
||||
mDirtyFlags |= 0x1L;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
private boolean onChangeClientTitleSelectable(androidx.lifecycle.LiveData<java.lang.Boolean> ClientTitleSelectable, int fieldId) {
|
||||
if (fieldId == BR._all) {
|
||||
synchronized(this) {
|
||||
mDirtyFlags |= 0x2L;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
private boolean onChangeClientDescription(androidx.lifecycle.LiveData<java.lang.CharSequence> ClientDescription, int fieldId) {
|
||||
if (fieldId == BR._all) {
|
||||
synchronized(this) {
|
||||
mDirtyFlags |= 0x4L;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
private boolean onChangeClientTitle(androidx.lifecycle.LiveData<android.text.SpannableStringBuilder> ClientTitle, int fieldId) {
|
||||
if (fieldId == BR._all) {
|
||||
synchronized(this) {
|
||||
mDirtyFlags |= 0x8L;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void executeBindings() {
|
||||
long dirtyFlags = 0;
|
||||
synchronized(this) {
|
||||
dirtyFlags = mDirtyFlags;
|
||||
mDirtyFlags = 0;
|
||||
}
|
||||
java.lang.Boolean clientTitleSelectableGetValue = null;
|
||||
hanson.xyz.vpnhotspotmod.client.ClientsFragment.TrafficRate rate = mRate;
|
||||
int clientIcon = 0;
|
||||
androidx.lifecycle.LiveData<java.lang.Boolean> clientTitleSelectable = null;
|
||||
androidx.lifecycle.LiveData<java.lang.CharSequence> clientDescription = null;
|
||||
hanson.xyz.vpnhotspotmod.client.Client client = mClient;
|
||||
java.lang.CharSequence clientDescriptionGetValue = null;
|
||||
androidx.lifecycle.LiveData<android.text.SpannableStringBuilder> clientTitle = null;
|
||||
java.lang.String rateToString = null;
|
||||
boolean androidxDatabindingViewDataBindingSafeUnboxClientTitleSelectableGetValue = false;
|
||||
android.text.SpannableStringBuilder clientTitleGetValue = null;
|
||||
|
||||
if ((dirtyFlags & 0x21L) != 0) {
|
||||
|
||||
|
||||
|
||||
if (rate != null) {
|
||||
// read rate.toString()
|
||||
rateToString = rate.toString();
|
||||
}
|
||||
}
|
||||
if ((dirtyFlags & 0x3eL) != 0) {
|
||||
|
||||
|
||||
if ((dirtyFlags & 0x30L) != 0) {
|
||||
|
||||
if (client != null) {
|
||||
// read client.icon
|
||||
clientIcon = client.getIcon();
|
||||
}
|
||||
}
|
||||
if ((dirtyFlags & 0x32L) != 0) {
|
||||
|
||||
if (client != null) {
|
||||
// read client.titleSelectable
|
||||
clientTitleSelectable = client.getTitleSelectable();
|
||||
}
|
||||
updateLiveDataRegistration(1, clientTitleSelectable);
|
||||
|
||||
|
||||
if (clientTitleSelectable != null) {
|
||||
// read client.titleSelectable.getValue()
|
||||
clientTitleSelectableGetValue = clientTitleSelectable.getValue();
|
||||
}
|
||||
|
||||
|
||||
// read androidx.databinding.ViewDataBinding.safeUnbox(client.titleSelectable.getValue())
|
||||
androidxDatabindingViewDataBindingSafeUnboxClientTitleSelectableGetValue = androidx.databinding.ViewDataBinding.safeUnbox(clientTitleSelectableGetValue);
|
||||
}
|
||||
if ((dirtyFlags & 0x34L) != 0) {
|
||||
|
||||
if (client != null) {
|
||||
// read client.description
|
||||
clientDescription = client.getDescription();
|
||||
}
|
||||
updateLiveDataRegistration(2, clientDescription);
|
||||
|
||||
|
||||
if (clientDescription != null) {
|
||||
// read client.description.getValue()
|
||||
clientDescriptionGetValue = clientDescription.getValue();
|
||||
}
|
||||
}
|
||||
if ((dirtyFlags & 0x38L) != 0) {
|
||||
|
||||
if (client != null) {
|
||||
// read client.title
|
||||
clientTitle = client.getTitle();
|
||||
}
|
||||
updateLiveDataRegistration(3, clientTitle);
|
||||
|
||||
|
||||
if (clientTitle != null) {
|
||||
// read client.title.getValue()
|
||||
clientTitleGetValue = clientTitle.getValue();
|
||||
}
|
||||
}
|
||||
}
|
||||
// batch finished
|
||||
if ((dirtyFlags & 0x34L) != 0) {
|
||||
// api target 1
|
||||
|
||||
androidx.databinding.adapters.TextViewBindingAdapter.setText(this.description, clientDescriptionGetValue);
|
||||
}
|
||||
if ((dirtyFlags & 0x30L) != 0) {
|
||||
// api target 1
|
||||
|
||||
hanson.xyz.vpnhotspotmod.util.UtilsKt.setImageResource(this.mboundView1, clientIcon);
|
||||
}
|
||||
if ((dirtyFlags & 0x38L) != 0) {
|
||||
// api target 1
|
||||
|
||||
androidx.databinding.adapters.TextViewBindingAdapter.setText(this.mboundView2, clientTitleGetValue);
|
||||
}
|
||||
if ((dirtyFlags & 0x32L) != 0) {
|
||||
// api target 11
|
||||
if(getBuildSdkInt() >= 11) {
|
||||
|
||||
this.mboundView2.setTextIsSelectable(androidxDatabindingViewDataBindingSafeUnboxClientTitleSelectableGetValue);
|
||||
}
|
||||
}
|
||||
if ((dirtyFlags & 0x21L) != 0) {
|
||||
// api target 1
|
||||
|
||||
androidx.databinding.adapters.TextViewBindingAdapter.setText(this.mboundView4, rateToString);
|
||||
}
|
||||
}
|
||||
// Listener Stub Implementations
|
||||
// callback impls
|
||||
// dirty flag
|
||||
private long mDirtyFlags = 0xffffffffffffffffL;
|
||||
/* flag mapping
|
||||
flag 0 (0x1L): rate
|
||||
flag 1 (0x2L): client.titleSelectable
|
||||
flag 2 (0x3L): client.description
|
||||
flag 3 (0x4L): client.title
|
||||
flag 4 (0x5L): client
|
||||
flag 5 (0x6L): null
|
||||
flag mapping end*/
|
||||
//end
|
||||
}
|
||||
@@ -0,0 +1,166 @@
|
||||
package hanson.xyz.vpnhotspotmod.databinding;
|
||||
import hanson.xyz.vpnhotspotmod.R;
|
||||
import hanson.xyz.vpnhotspotmod.BR;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import android.view.View;
|
||||
@SuppressWarnings("unchecked")
|
||||
public class ListitemInterfaceBindingImpl extends ListitemInterfaceBinding {
|
||||
|
||||
@Nullable
|
||||
private static final androidx.databinding.ViewDataBinding.IncludedLayouts sIncludes;
|
||||
@Nullable
|
||||
private static final android.util.SparseIntArray sViewsWithIds;
|
||||
static {
|
||||
sIncludes = null;
|
||||
sViewsWithIds = null;
|
||||
}
|
||||
// views
|
||||
@NonNull
|
||||
private final android.widget.LinearLayout mboundView0;
|
||||
@NonNull
|
||||
private final android.widget.ImageView mboundView1;
|
||||
@NonNull
|
||||
private final android.widget.TextView mboundView2;
|
||||
@NonNull
|
||||
private final com.google.android.material.materialswitch.MaterialSwitch mboundView4;
|
||||
// variables
|
||||
// values
|
||||
// listeners
|
||||
// Inverse Binding Event Handlers
|
||||
|
||||
public ListitemInterfaceBindingImpl(@Nullable androidx.databinding.DataBindingComponent bindingComponent, @NonNull View root) {
|
||||
this(bindingComponent, root, mapBindings(bindingComponent, root, 5, sIncludes, sViewsWithIds));
|
||||
}
|
||||
private ListitemInterfaceBindingImpl(androidx.databinding.DataBindingComponent bindingComponent, View root, Object[] bindings) {
|
||||
super(bindingComponent, root, 1
|
||||
, (hanson.xyz.vpnhotspotmod.widget.AutoCollapseTextView) bindings[3]
|
||||
);
|
||||
this.mboundView0 = (android.widget.LinearLayout) bindings[0];
|
||||
this.mboundView0.setTag(null);
|
||||
this.mboundView1 = (android.widget.ImageView) bindings[1];
|
||||
this.mboundView1.setTag(null);
|
||||
this.mboundView2 = (android.widget.TextView) bindings[2];
|
||||
this.mboundView2.setTag(null);
|
||||
this.mboundView4 = (com.google.android.material.materialswitch.MaterialSwitch) bindings[4];
|
||||
this.mboundView4.setTag(null);
|
||||
this.text.setTag(null);
|
||||
setRootTag(root);
|
||||
// listeners
|
||||
invalidateAll();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void invalidateAll() {
|
||||
synchronized(this) {
|
||||
mDirtyFlags = 0x2L;
|
||||
}
|
||||
requestRebind();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasPendingBindings() {
|
||||
synchronized(this) {
|
||||
if (mDirtyFlags != 0) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setVariable(int variableId, @Nullable Object variable) {
|
||||
boolean variableSet = true;
|
||||
if (BR.data == variableId) {
|
||||
setData((hanson.xyz.vpnhotspotmod.manage.Data) variable);
|
||||
}
|
||||
else {
|
||||
variableSet = false;
|
||||
}
|
||||
return variableSet;
|
||||
}
|
||||
|
||||
public void setData(@Nullable hanson.xyz.vpnhotspotmod.manage.Data Data) {
|
||||
updateRegistration(0, Data);
|
||||
this.mData = Data;
|
||||
synchronized(this) {
|
||||
mDirtyFlags |= 0x1L;
|
||||
}
|
||||
notifyPropertyChanged(BR.data);
|
||||
super.requestRebind();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean onFieldChange(int localFieldId, Object object, int fieldId) {
|
||||
switch (localFieldId) {
|
||||
case 0 :
|
||||
return onChangeData((hanson.xyz.vpnhotspotmod.manage.Data) object, fieldId);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
private boolean onChangeData(hanson.xyz.vpnhotspotmod.manage.Data Data, int fieldId) {
|
||||
if (fieldId == BR._all) {
|
||||
synchronized(this) {
|
||||
mDirtyFlags |= 0x1L;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void executeBindings() {
|
||||
long dirtyFlags = 0;
|
||||
synchronized(this) {
|
||||
dirtyFlags = mDirtyFlags;
|
||||
mDirtyFlags = 0;
|
||||
}
|
||||
java.lang.CharSequence dataText = null;
|
||||
java.lang.CharSequence dataTitle = null;
|
||||
boolean dataActive = false;
|
||||
boolean dataSelectable = false;
|
||||
hanson.xyz.vpnhotspotmod.manage.Data data = mData;
|
||||
int dataIcon = 0;
|
||||
|
||||
if ((dirtyFlags & 0x3L) != 0) {
|
||||
|
||||
|
||||
|
||||
if (data != null) {
|
||||
// read data.text
|
||||
dataText = data.getText();
|
||||
// read data.title
|
||||
dataTitle = data.getTitle();
|
||||
// read data.active
|
||||
dataActive = data.getActive();
|
||||
// read data.selectable
|
||||
dataSelectable = data.getSelectable();
|
||||
// read data.icon
|
||||
dataIcon = data.getIcon();
|
||||
}
|
||||
}
|
||||
// batch finished
|
||||
if ((dirtyFlags & 0x3L) != 0) {
|
||||
// api target 1
|
||||
|
||||
hanson.xyz.vpnhotspotmod.util.UtilsKt.setImageResource(this.mboundView1, dataIcon);
|
||||
androidx.databinding.adapters.TextViewBindingAdapter.setText(this.mboundView2, dataTitle);
|
||||
androidx.databinding.adapters.CompoundButtonBindingAdapter.setChecked(this.mboundView4, dataActive);
|
||||
androidx.databinding.adapters.TextViewBindingAdapter.setText(this.text, dataText);
|
||||
// api target 11
|
||||
if(getBuildSdkInt() >= 11) {
|
||||
|
||||
this.text.setTextIsSelectable(dataSelectable);
|
||||
}
|
||||
}
|
||||
}
|
||||
// Listener Stub Implementations
|
||||
// callback impls
|
||||
// dirty flag
|
||||
private long mDirtyFlags = 0xffffffffffffffffL;
|
||||
/* flag mapping
|
||||
flag 0 (0x1L): data
|
||||
flag 1 (0x2L): null
|
||||
flag mapping end*/
|
||||
//end
|
||||
}
|
||||
@@ -0,0 +1,134 @@
|
||||
package hanson.xyz.vpnhotspotmod.databinding;
|
||||
import hanson.xyz.vpnhotspotmod.R;
|
||||
import hanson.xyz.vpnhotspotmod.BR;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import android.view.View;
|
||||
@SuppressWarnings("unchecked")
|
||||
public class ListitemManageBindingImpl extends ListitemManageBinding {
|
||||
|
||||
@Nullable
|
||||
private static final androidx.databinding.ViewDataBinding.IncludedLayouts sIncludes;
|
||||
@Nullable
|
||||
private static final android.util.SparseIntArray sViewsWithIds;
|
||||
static {
|
||||
sIncludes = null;
|
||||
sViewsWithIds = null;
|
||||
}
|
||||
// views
|
||||
@NonNull
|
||||
private final android.widget.LinearLayout mboundView0;
|
||||
// variables
|
||||
// values
|
||||
// listeners
|
||||
// Inverse Binding Event Handlers
|
||||
|
||||
public ListitemManageBindingImpl(@Nullable androidx.databinding.DataBindingComponent bindingComponent, @NonNull View root) {
|
||||
this(bindingComponent, root, mapBindings(bindingComponent, root, 2, sIncludes, sViewsWithIds));
|
||||
}
|
||||
private ListitemManageBindingImpl(androidx.databinding.DataBindingComponent bindingComponent, View root, Object[] bindings) {
|
||||
super(bindingComponent, root, 1
|
||||
, (android.widget.TextView) bindings[1]
|
||||
);
|
||||
this.mboundView0 = (android.widget.LinearLayout) bindings[0];
|
||||
this.mboundView0.setTag(null);
|
||||
this.offloadEnabled.setTag(null);
|
||||
setRootTag(root);
|
||||
// listeners
|
||||
invalidateAll();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void invalidateAll() {
|
||||
synchronized(this) {
|
||||
mDirtyFlags = 0x2L;
|
||||
}
|
||||
requestRebind();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasPendingBindings() {
|
||||
synchronized(this) {
|
||||
if (mDirtyFlags != 0) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setVariable(int variableId, @Nullable Object variable) {
|
||||
boolean variableSet = true;
|
||||
if (BR.data == variableId) {
|
||||
setData((hanson.xyz.vpnhotspotmod.manage.ManageBar.Data) variable);
|
||||
}
|
||||
else {
|
||||
variableSet = false;
|
||||
}
|
||||
return variableSet;
|
||||
}
|
||||
|
||||
public void setData(@Nullable hanson.xyz.vpnhotspotmod.manage.ManageBar.Data Data) {
|
||||
updateRegistration(0, Data);
|
||||
this.mData = Data;
|
||||
synchronized(this) {
|
||||
mDirtyFlags |= 0x1L;
|
||||
}
|
||||
notifyPropertyChanged(BR.data);
|
||||
super.requestRebind();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean onFieldChange(int localFieldId, Object object, int fieldId) {
|
||||
switch (localFieldId) {
|
||||
case 0 :
|
||||
return onChangeData((hanson.xyz.vpnhotspotmod.manage.ManageBar.Data) object, fieldId);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
private boolean onChangeData(hanson.xyz.vpnhotspotmod.manage.ManageBar.Data Data, int fieldId) {
|
||||
if (fieldId == BR._all) {
|
||||
synchronized(this) {
|
||||
mDirtyFlags |= 0x1L;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void executeBindings() {
|
||||
long dirtyFlags = 0;
|
||||
synchronized(this) {
|
||||
dirtyFlags = mDirtyFlags;
|
||||
mDirtyFlags = 0;
|
||||
}
|
||||
boolean dataOffloadEnabled = false;
|
||||
hanson.xyz.vpnhotspotmod.manage.ManageBar.Data data = mData;
|
||||
|
||||
if ((dirtyFlags & 0x3L) != 0) {
|
||||
|
||||
|
||||
|
||||
if (data != null) {
|
||||
// read data.offloadEnabled
|
||||
dataOffloadEnabled = data.getOffloadEnabled();
|
||||
}
|
||||
}
|
||||
// batch finished
|
||||
if ((dirtyFlags & 0x3L) != 0) {
|
||||
// api target 1
|
||||
|
||||
hanson.xyz.vpnhotspotmod.util.UtilsKt.setVisibility(this.offloadEnabled, dataOffloadEnabled);
|
||||
}
|
||||
}
|
||||
// Listener Stub Implementations
|
||||
// callback impls
|
||||
// dirty flag
|
||||
private long mDirtyFlags = 0xffffffffffffffffL;
|
||||
/* flag mapping
|
||||
flag 0 (0x1L): data
|
||||
flag 1 (0x2L): null
|
||||
flag mapping end*/
|
||||
//end
|
||||
}
|
||||
@@ -0,0 +1,285 @@
|
||||
package hanson.xyz.vpnhotspotmod.databinding;
|
||||
import hanson.xyz.vpnhotspotmod.R;
|
||||
import hanson.xyz.vpnhotspotmod.BR;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import android.view.View;
|
||||
@SuppressWarnings("unchecked")
|
||||
public class ListitemRepeaterBindingImpl extends ListitemRepeaterBinding implements hanson.xyz.vpnhotspotmod.generated.callback.OnClickListener.Listener {
|
||||
|
||||
@Nullable
|
||||
private static final androidx.databinding.ViewDataBinding.IncludedLayouts sIncludes;
|
||||
@Nullable
|
||||
private static final android.util.SparseIntArray sViewsWithIds;
|
||||
static {
|
||||
sIncludes = null;
|
||||
sViewsWithIds = null;
|
||||
}
|
||||
// views
|
||||
@NonNull
|
||||
private final android.widget.LinearLayout mboundView0;
|
||||
@NonNull
|
||||
private final android.widget.LinearLayout mboundView1;
|
||||
@NonNull
|
||||
private final android.widget.TextView mboundView2;
|
||||
@NonNull
|
||||
private final com.google.android.material.materialswitch.MaterialSwitch mboundView4;
|
||||
@NonNull
|
||||
private final android.widget.LinearLayout mboundView5;
|
||||
// variables
|
||||
@Nullable
|
||||
private final android.view.View.OnClickListener mCallback1;
|
||||
@Nullable
|
||||
private final android.view.View.OnClickListener mCallback2;
|
||||
// values
|
||||
// listeners
|
||||
// Inverse Binding Event Handlers
|
||||
|
||||
public ListitemRepeaterBindingImpl(@Nullable androidx.databinding.DataBindingComponent bindingComponent, @NonNull View root) {
|
||||
this(bindingComponent, root, mapBindings(bindingComponent, root, 6, sIncludes, sViewsWithIds));
|
||||
}
|
||||
private ListitemRepeaterBindingImpl(androidx.databinding.DataBindingComponent bindingComponent, View root, Object[] bindings) {
|
||||
super(bindingComponent, root, 1
|
||||
, (hanson.xyz.vpnhotspotmod.widget.AutoCollapseTextView) bindings[3]
|
||||
);
|
||||
this.addresses.setTag(null);
|
||||
this.mboundView0 = (android.widget.LinearLayout) bindings[0];
|
||||
this.mboundView0.setTag(null);
|
||||
this.mboundView1 = (android.widget.LinearLayout) bindings[1];
|
||||
this.mboundView1.setTag(null);
|
||||
this.mboundView2 = (android.widget.TextView) bindings[2];
|
||||
this.mboundView2.setTag(null);
|
||||
this.mboundView4 = (com.google.android.material.materialswitch.MaterialSwitch) bindings[4];
|
||||
this.mboundView4.setTag(null);
|
||||
this.mboundView5 = (android.widget.LinearLayout) bindings[5];
|
||||
this.mboundView5.setTag(null);
|
||||
setRootTag(root);
|
||||
// listeners
|
||||
mCallback1 = new hanson.xyz.vpnhotspotmod.generated.callback.OnClickListener(this, 1);
|
||||
mCallback2 = new hanson.xyz.vpnhotspotmod.generated.callback.OnClickListener(this, 2);
|
||||
invalidateAll();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void invalidateAll() {
|
||||
synchronized(this) {
|
||||
mDirtyFlags = 0x20L;
|
||||
}
|
||||
requestRebind();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasPendingBindings() {
|
||||
synchronized(this) {
|
||||
if (mDirtyFlags != 0) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setVariable(int variableId, @Nullable Object variable) {
|
||||
boolean variableSet = true;
|
||||
if (BR.data == variableId) {
|
||||
setData((hanson.xyz.vpnhotspotmod.manage.RepeaterManager.Data) variable);
|
||||
}
|
||||
else {
|
||||
variableSet = false;
|
||||
}
|
||||
return variableSet;
|
||||
}
|
||||
|
||||
public void setData(@Nullable hanson.xyz.vpnhotspotmod.manage.RepeaterManager.Data Data) {
|
||||
updateRegistration(0, Data);
|
||||
this.mData = Data;
|
||||
synchronized(this) {
|
||||
mDirtyFlags |= 0x1L;
|
||||
}
|
||||
notifyPropertyChanged(BR.data);
|
||||
super.requestRebind();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean onFieldChange(int localFieldId, Object object, int fieldId) {
|
||||
switch (localFieldId) {
|
||||
case 0 :
|
||||
return onChangeData((hanson.xyz.vpnhotspotmod.manage.RepeaterManager.Data) object, fieldId);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
private boolean onChangeData(hanson.xyz.vpnhotspotmod.manage.RepeaterManager.Data Data, int fieldId) {
|
||||
if (fieldId == BR._all) {
|
||||
synchronized(this) {
|
||||
mDirtyFlags |= 0x1L;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else if (fieldId == BR.title) {
|
||||
synchronized(this) {
|
||||
mDirtyFlags |= 0x2L;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else if (fieldId == BR.addresses) {
|
||||
synchronized(this) {
|
||||
mDirtyFlags |= 0x4L;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else if (fieldId == BR.serviceStarted) {
|
||||
synchronized(this) {
|
||||
mDirtyFlags |= 0x8L;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else if (fieldId == BR.switchEnabled) {
|
||||
synchronized(this) {
|
||||
mDirtyFlags |= 0x10L;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void executeBindings() {
|
||||
long dirtyFlags = 0;
|
||||
synchronized(this) {
|
||||
dirtyFlags = mDirtyFlags;
|
||||
mDirtyFlags = 0;
|
||||
}
|
||||
java.lang.CharSequence dataTitle = null;
|
||||
boolean dataSwitchEnabled = false;
|
||||
boolean dataServiceStartedWifiP2pManagerHelperGetStartWpsJavaLangObjectNullBooleanFalse = false;
|
||||
boolean dataServiceStarted = false;
|
||||
hanson.xyz.vpnhotspotmod.manage.RepeaterManager.Data data = mData;
|
||||
java.lang.CharSequence dataAddresses = null;
|
||||
|
||||
if ((dirtyFlags & 0x3fL) != 0) {
|
||||
|
||||
|
||||
if ((dirtyFlags & 0x23L) != 0) {
|
||||
|
||||
if (data != null) {
|
||||
// read data.title
|
||||
dataTitle = data.getTitle();
|
||||
}
|
||||
}
|
||||
if ((dirtyFlags & 0x31L) != 0) {
|
||||
|
||||
if (data != null) {
|
||||
// read data.switchEnabled
|
||||
dataSwitchEnabled = data.getSwitchEnabled();
|
||||
}
|
||||
}
|
||||
if ((dirtyFlags & 0x29L) != 0) {
|
||||
|
||||
if (data != null) {
|
||||
// read data.serviceStarted
|
||||
dataServiceStarted = data.getServiceStarted();
|
||||
}
|
||||
if((dirtyFlags & 0x29L) != 0) {
|
||||
if(dataServiceStarted) {
|
||||
dirtyFlags |= 0x80L;
|
||||
}
|
||||
else {
|
||||
dirtyFlags |= 0x40L;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// read data.serviceStarted ? WifiP2pManagerHelper.getStartWps() != null : false
|
||||
dataServiceStartedWifiP2pManagerHelperGetStartWpsJavaLangObjectNullBooleanFalse = ((dataServiceStarted) ? ((hanson.xyz.vpnhotspotmod.net.wifi.WifiP2pManagerHelper.getStartWps()) != (null)) : (false));
|
||||
}
|
||||
if ((dirtyFlags & 0x25L) != 0) {
|
||||
|
||||
if (data != null) {
|
||||
// read data.addresses
|
||||
dataAddresses = data.getAddresses();
|
||||
}
|
||||
}
|
||||
}
|
||||
// batch finished
|
||||
if ((dirtyFlags & 0x25L) != 0) {
|
||||
// api target 1
|
||||
|
||||
androidx.databinding.adapters.TextViewBindingAdapter.setText(this.addresses, dataAddresses);
|
||||
}
|
||||
if ((dirtyFlags & 0x20L) != 0) {
|
||||
// api target 1
|
||||
|
||||
this.mboundView1.setOnClickListener(mCallback1);
|
||||
this.mboundView5.setOnClickListener(mCallback2);
|
||||
}
|
||||
if ((dirtyFlags & 0x23L) != 0) {
|
||||
// api target 1
|
||||
|
||||
androidx.databinding.adapters.TextViewBindingAdapter.setText(this.mboundView2, dataTitle);
|
||||
}
|
||||
if ((dirtyFlags & 0x29L) != 0) {
|
||||
// api target 1
|
||||
|
||||
androidx.databinding.adapters.CompoundButtonBindingAdapter.setChecked(this.mboundView4, dataServiceStarted);
|
||||
hanson.xyz.vpnhotspotmod.util.UtilsKt.setVisibility(this.mboundView5, dataServiceStartedWifiP2pManagerHelperGetStartWpsJavaLangObjectNullBooleanFalse);
|
||||
}
|
||||
if ((dirtyFlags & 0x31L) != 0) {
|
||||
// api target 1
|
||||
|
||||
this.mboundView4.setEnabled(dataSwitchEnabled);
|
||||
}
|
||||
}
|
||||
// Listener Stub Implementations
|
||||
// callback impls
|
||||
public final void _internalCallbackOnClick(int sourceId , android.view.View callbackArg_0) {
|
||||
switch(sourceId) {
|
||||
case 1: {
|
||||
// localize variables for thread safety
|
||||
// data != null
|
||||
boolean dataJavaLangObjectNull = false;
|
||||
// data
|
||||
hanson.xyz.vpnhotspotmod.manage.RepeaterManager.Data data = mData;
|
||||
|
||||
|
||||
|
||||
dataJavaLangObjectNull = (data) != (null);
|
||||
if (dataJavaLangObjectNull) {
|
||||
|
||||
|
||||
data.toggle();
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 2: {
|
||||
// localize variables for thread safety
|
||||
// data != null
|
||||
boolean dataJavaLangObjectNull = false;
|
||||
// data
|
||||
hanson.xyz.vpnhotspotmod.manage.RepeaterManager.Data data = mData;
|
||||
|
||||
|
||||
|
||||
dataJavaLangObjectNull = (data) != (null);
|
||||
if (dataJavaLangObjectNull) {
|
||||
|
||||
|
||||
data.wps();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
// dirty flag
|
||||
private long mDirtyFlags = 0xffffffffffffffffL;
|
||||
/* flag mapping
|
||||
flag 0 (0x1L): data
|
||||
flag 1 (0x2L): data.title
|
||||
flag 2 (0x3L): data.addresses
|
||||
flag 3 (0x4L): data.serviceStarted
|
||||
flag 4 (0x5L): data.switchEnabled
|
||||
flag 5 (0x6L): null
|
||||
flag 6 (0x7L): data.serviceStarted ? WifiP2pManagerHelper.getStartWps() != null : false
|
||||
flag 7 (0x8L): data.serviceStarted ? WifiP2pManagerHelper.getStartWps() != null : false
|
||||
flag mapping end*/
|
||||
//end
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package hanson.xyz.vpnhotspotmod.generated.callback;
|
||||
public final class OnClickListener implements android.view.View.OnClickListener {
|
||||
final Listener mListener;
|
||||
final int mSourceId;
|
||||
public OnClickListener(Listener listener, int sourceId) {
|
||||
mListener = listener;
|
||||
mSourceId = sourceId;
|
||||
}
|
||||
@Override
|
||||
public void onClick(android.view.View callbackArg_0) {
|
||||
mListener._internalCallbackOnClick(mSourceId , callbackArg_0);
|
||||
}
|
||||
public interface Listener {
|
||||
void _internalCallbackOnClick(int sourceId , android.view.View callbackArg_0);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,227 @@
|
||||
package hanson.xyz.vpnhotspotmod.room;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.room.DatabaseConfiguration;
|
||||
import androidx.room.InvalidationTracker;
|
||||
import androidx.room.RoomDatabase;
|
||||
import androidx.room.RoomOpenHelper;
|
||||
import androidx.room.migration.AutoMigrationSpec;
|
||||
import androidx.room.migration.Migration;
|
||||
import androidx.room.util.DBUtil;
|
||||
import androidx.room.util.TableInfo;
|
||||
import androidx.sqlite.db.SupportSQLiteDatabase;
|
||||
import androidx.sqlite.db.SupportSQLiteOpenHelper;
|
||||
import java.lang.Class;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
import java.lang.SuppressWarnings;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import javax.annotation.processing.Generated;
|
||||
|
||||
@Generated("androidx.room.RoomProcessor")
|
||||
@SuppressWarnings({"unchecked", "deprecation"})
|
||||
public final class AppDatabase_Impl extends AppDatabase {
|
||||
private volatile ClientRecord.Dao _clientRecord;
|
||||
|
||||
private volatile TrafficRecord.Dao _trafficRecord;
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
protected SupportSQLiteOpenHelper createOpenHelper(@NonNull final DatabaseConfiguration config) {
|
||||
final SupportSQLiteOpenHelper.Callback _openCallback = new RoomOpenHelper(config, new RoomOpenHelper.Delegate(2) {
|
||||
@Override
|
||||
public void createAllTables(@NonNull final SupportSQLiteDatabase db) {
|
||||
db.execSQL("CREATE TABLE IF NOT EXISTS `ClientRecord` (`mac` INTEGER NOT NULL, `nickname` BLOB NOT NULL, `blocked` INTEGER NOT NULL, `macLookupPending` INTEGER NOT NULL, PRIMARY KEY(`mac`))");
|
||||
db.execSQL("CREATE TABLE IF NOT EXISTS `TrafficRecord` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `timestamp` INTEGER NOT NULL, `mac` INTEGER NOT NULL, `ip` BLOB NOT NULL, `upstream` TEXT, `downstream` TEXT NOT NULL, `sentPackets` INTEGER NOT NULL, `sentBytes` INTEGER NOT NULL, `receivedPackets` INTEGER NOT NULL, `receivedBytes` INTEGER NOT NULL, `previousId` INTEGER, FOREIGN KEY(`previousId`) REFERENCES `TrafficRecord`(`id`) ON UPDATE RESTRICT ON DELETE CASCADE )");
|
||||
db.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS `index_TrafficRecord_previousId` ON `TrafficRecord` (`previousId`)");
|
||||
db.execSQL("CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)");
|
||||
db.execSQL("INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '92a6c0406ed7265dbd98eb3c24095651')");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dropAllTables(@NonNull final SupportSQLiteDatabase db) {
|
||||
db.execSQL("DROP TABLE IF EXISTS `ClientRecord`");
|
||||
db.execSQL("DROP TABLE IF EXISTS `TrafficRecord`");
|
||||
final List<? extends RoomDatabase.Callback> _callbacks = mCallbacks;
|
||||
if (_callbacks != null) {
|
||||
for (RoomDatabase.Callback _callback : _callbacks) {
|
||||
_callback.onDestructiveMigration(db);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(@NonNull final SupportSQLiteDatabase db) {
|
||||
final List<? extends RoomDatabase.Callback> _callbacks = mCallbacks;
|
||||
if (_callbacks != null) {
|
||||
for (RoomDatabase.Callback _callback : _callbacks) {
|
||||
_callback.onCreate(db);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onOpen(@NonNull final SupportSQLiteDatabase db) {
|
||||
mDatabase = db;
|
||||
db.execSQL("PRAGMA foreign_keys = ON");
|
||||
internalInitInvalidationTracker(db);
|
||||
final List<? extends RoomDatabase.Callback> _callbacks = mCallbacks;
|
||||
if (_callbacks != null) {
|
||||
for (RoomDatabase.Callback _callback : _callbacks) {
|
||||
_callback.onOpen(db);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPreMigrate(@NonNull final SupportSQLiteDatabase db) {
|
||||
DBUtil.dropFtsSyncTriggers(db);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPostMigrate(@NonNull final SupportSQLiteDatabase db) {
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public RoomOpenHelper.ValidationResult onValidateSchema(
|
||||
@NonNull final SupportSQLiteDatabase db) {
|
||||
final HashMap<String, TableInfo.Column> _columnsClientRecord = new HashMap<String, TableInfo.Column>(4);
|
||||
_columnsClientRecord.put("mac", new TableInfo.Column("mac", "INTEGER", true, 1, null, TableInfo.CREATED_FROM_ENTITY));
|
||||
_columnsClientRecord.put("nickname", new TableInfo.Column("nickname", "BLOB", true, 0, null, TableInfo.CREATED_FROM_ENTITY));
|
||||
_columnsClientRecord.put("blocked", new TableInfo.Column("blocked", "INTEGER", true, 0, null, TableInfo.CREATED_FROM_ENTITY));
|
||||
_columnsClientRecord.put("macLookupPending", new TableInfo.Column("macLookupPending", "INTEGER", true, 0, null, TableInfo.CREATED_FROM_ENTITY));
|
||||
final HashSet<TableInfo.ForeignKey> _foreignKeysClientRecord = new HashSet<TableInfo.ForeignKey>(0);
|
||||
final HashSet<TableInfo.Index> _indicesClientRecord = new HashSet<TableInfo.Index>(0);
|
||||
final TableInfo _infoClientRecord = new TableInfo("ClientRecord", _columnsClientRecord, _foreignKeysClientRecord, _indicesClientRecord);
|
||||
final TableInfo _existingClientRecord = TableInfo.read(db, "ClientRecord");
|
||||
if (!_infoClientRecord.equals(_existingClientRecord)) {
|
||||
return new RoomOpenHelper.ValidationResult(false, "ClientRecord(hanson.xyz.vpnhotspotmod.room.ClientRecord).\n"
|
||||
+ " Expected:\n" + _infoClientRecord + "\n"
|
||||
+ " Found:\n" + _existingClientRecord);
|
||||
}
|
||||
final HashMap<String, TableInfo.Column> _columnsTrafficRecord = new HashMap<String, TableInfo.Column>(11);
|
||||
_columnsTrafficRecord.put("id", new TableInfo.Column("id", "INTEGER", false, 1, null, TableInfo.CREATED_FROM_ENTITY));
|
||||
_columnsTrafficRecord.put("timestamp", new TableInfo.Column("timestamp", "INTEGER", true, 0, null, TableInfo.CREATED_FROM_ENTITY));
|
||||
_columnsTrafficRecord.put("mac", new TableInfo.Column("mac", "INTEGER", true, 0, null, TableInfo.CREATED_FROM_ENTITY));
|
||||
_columnsTrafficRecord.put("ip", new TableInfo.Column("ip", "BLOB", true, 0, null, TableInfo.CREATED_FROM_ENTITY));
|
||||
_columnsTrafficRecord.put("upstream", new TableInfo.Column("upstream", "TEXT", false, 0, null, TableInfo.CREATED_FROM_ENTITY));
|
||||
_columnsTrafficRecord.put("downstream", new TableInfo.Column("downstream", "TEXT", true, 0, null, TableInfo.CREATED_FROM_ENTITY));
|
||||
_columnsTrafficRecord.put("sentPackets", new TableInfo.Column("sentPackets", "INTEGER", true, 0, null, TableInfo.CREATED_FROM_ENTITY));
|
||||
_columnsTrafficRecord.put("sentBytes", new TableInfo.Column("sentBytes", "INTEGER", true, 0, null, TableInfo.CREATED_FROM_ENTITY));
|
||||
_columnsTrafficRecord.put("receivedPackets", new TableInfo.Column("receivedPackets", "INTEGER", true, 0, null, TableInfo.CREATED_FROM_ENTITY));
|
||||
_columnsTrafficRecord.put("receivedBytes", new TableInfo.Column("receivedBytes", "INTEGER", true, 0, null, TableInfo.CREATED_FROM_ENTITY));
|
||||
_columnsTrafficRecord.put("previousId", new TableInfo.Column("previousId", "INTEGER", false, 0, null, TableInfo.CREATED_FROM_ENTITY));
|
||||
final HashSet<TableInfo.ForeignKey> _foreignKeysTrafficRecord = new HashSet<TableInfo.ForeignKey>(1);
|
||||
_foreignKeysTrafficRecord.add(new TableInfo.ForeignKey("TrafficRecord", "CASCADE", "RESTRICT", Arrays.asList("previousId"), Arrays.asList("id")));
|
||||
final HashSet<TableInfo.Index> _indicesTrafficRecord = new HashSet<TableInfo.Index>(1);
|
||||
_indicesTrafficRecord.add(new TableInfo.Index("index_TrafficRecord_previousId", true, Arrays.asList("previousId"), Arrays.asList("ASC")));
|
||||
final TableInfo _infoTrafficRecord = new TableInfo("TrafficRecord", _columnsTrafficRecord, _foreignKeysTrafficRecord, _indicesTrafficRecord);
|
||||
final TableInfo _existingTrafficRecord = TableInfo.read(db, "TrafficRecord");
|
||||
if (!_infoTrafficRecord.equals(_existingTrafficRecord)) {
|
||||
return new RoomOpenHelper.ValidationResult(false, "TrafficRecord(hanson.xyz.vpnhotspotmod.room.TrafficRecord).\n"
|
||||
+ " Expected:\n" + _infoTrafficRecord + "\n"
|
||||
+ " Found:\n" + _existingTrafficRecord);
|
||||
}
|
||||
return new RoomOpenHelper.ValidationResult(true, null);
|
||||
}
|
||||
}, "92a6c0406ed7265dbd98eb3c24095651", "1f08a76d9f7ed5013d3879caeddd243c");
|
||||
final SupportSQLiteOpenHelper.Configuration _sqliteConfig = SupportSQLiteOpenHelper.Configuration.builder(config.context).name(config.name).callback(_openCallback).build();
|
||||
final SupportSQLiteOpenHelper _helper = config.sqliteOpenHelperFactory.create(_sqliteConfig);
|
||||
return _helper;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
protected InvalidationTracker createInvalidationTracker() {
|
||||
final HashMap<String, String> _shadowTablesMap = new HashMap<String, String>(0);
|
||||
final HashMap<String, Set<String>> _viewTables = new HashMap<String, Set<String>>(0);
|
||||
return new InvalidationTracker(this, _shadowTablesMap, _viewTables, "ClientRecord","TrafficRecord");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clearAllTables() {
|
||||
super.assertNotMainThread();
|
||||
final SupportSQLiteDatabase _db = super.getOpenHelper().getWritableDatabase();
|
||||
final boolean _supportsDeferForeignKeys = android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP;
|
||||
try {
|
||||
if (!_supportsDeferForeignKeys) {
|
||||
_db.execSQL("PRAGMA foreign_keys = FALSE");
|
||||
}
|
||||
super.beginTransaction();
|
||||
if (_supportsDeferForeignKeys) {
|
||||
_db.execSQL("PRAGMA defer_foreign_keys = TRUE");
|
||||
}
|
||||
_db.execSQL("DELETE FROM `ClientRecord`");
|
||||
_db.execSQL("DELETE FROM `TrafficRecord`");
|
||||
super.setTransactionSuccessful();
|
||||
} finally {
|
||||
super.endTransaction();
|
||||
if (!_supportsDeferForeignKeys) {
|
||||
_db.execSQL("PRAGMA foreign_keys = TRUE");
|
||||
}
|
||||
_db.query("PRAGMA wal_checkpoint(FULL)").close();
|
||||
if (!_db.inTransaction()) {
|
||||
_db.execSQL("VACUUM");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
protected Map<Class<?>, List<Class<?>>> getRequiredTypeConverters() {
|
||||
final HashMap<Class<?>, List<Class<?>>> _typeConvertersMap = new HashMap<Class<?>, List<Class<?>>>();
|
||||
_typeConvertersMap.put(ClientRecord.Dao.class, ClientRecord_Dao_Impl.getRequiredConverters());
|
||||
_typeConvertersMap.put(TrafficRecord.Dao.class, TrafficRecord_Dao_Impl.getRequiredConverters());
|
||||
return _typeConvertersMap;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public Set<Class<? extends AutoMigrationSpec>> getRequiredAutoMigrationSpecs() {
|
||||
final HashSet<Class<? extends AutoMigrationSpec>> _autoMigrationSpecsSet = new HashSet<Class<? extends AutoMigrationSpec>>();
|
||||
return _autoMigrationSpecsSet;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public List<Migration> getAutoMigrations(
|
||||
@NonNull final Map<Class<? extends AutoMigrationSpec>, AutoMigrationSpec> autoMigrationSpecs) {
|
||||
final List<Migration> _autoMigrations = new ArrayList<Migration>();
|
||||
return _autoMigrations;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ClientRecord.Dao getClientRecordDao() {
|
||||
if (_clientRecord != null) {
|
||||
return _clientRecord;
|
||||
} else {
|
||||
synchronized(this) {
|
||||
if(_clientRecord == null) {
|
||||
_clientRecord = new ClientRecord_Dao_Impl(this);
|
||||
}
|
||||
return _clientRecord;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public TrafficRecord.Dao getTrafficRecordDao() {
|
||||
if (_trafficRecord != null) {
|
||||
return _trafficRecord;
|
||||
} else {
|
||||
synchronized(this) {
|
||||
if(_trafficRecord == null) {
|
||||
_trafficRecord = new TrafficRecord_Dao_Impl(this);
|
||||
}
|
||||
return _trafficRecord;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,255 @@
|
||||
package hanson.xyz.vpnhotspotmod.room;
|
||||
|
||||
import android.database.Cursor;
|
||||
import android.net.MacAddress;
|
||||
import android.os.CancellationSignal;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.lifecycle.LiveData;
|
||||
import androidx.room.CoroutinesRoom;
|
||||
import androidx.room.EntityInsertionAdapter;
|
||||
import androidx.room.RoomDatabase;
|
||||
import androidx.room.RoomDatabaseKt;
|
||||
import androidx.room.RoomSQLiteQuery;
|
||||
import androidx.room.util.CursorUtil;
|
||||
import androidx.room.util.DBUtil;
|
||||
import androidx.sqlite.db.SupportSQLiteStatement;
|
||||
import java.lang.CharSequence;
|
||||
import java.lang.Class;
|
||||
import java.lang.Exception;
|
||||
import java.lang.Long;
|
||||
import java.lang.Object;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
import java.lang.SuppressWarnings;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.Callable;
|
||||
import javax.annotation.processing.Generated;
|
||||
import kotlin.Unit;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.jvm.functions.Function2;
|
||||
|
||||
@Generated("androidx.room.RoomProcessor")
|
||||
@SuppressWarnings({"unchecked", "deprecation"})
|
||||
public final class ClientRecord_Dao_Impl extends ClientRecord.Dao {
|
||||
private final RoomDatabase __db;
|
||||
|
||||
private final EntityInsertionAdapter<ClientRecord> __insertionAdapterOfClientRecord;
|
||||
|
||||
public ClientRecord_Dao_Impl(@NonNull final RoomDatabase __db) {
|
||||
this.__db = __db;
|
||||
this.__insertionAdapterOfClientRecord = new EntityInsertionAdapter<ClientRecord>(__db) {
|
||||
@Override
|
||||
@NonNull
|
||||
protected String createQuery() {
|
||||
return "INSERT OR REPLACE INTO `ClientRecord` (`mac`,`nickname`,`blocked`,`macLookupPending`) VALUES (?,?,?,?)";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void bind(@NonNull final SupportSQLiteStatement statement,
|
||||
@NonNull final ClientRecord entity) {
|
||||
final long _tmp = Converters.INSTANCE.persistMacAddress(entity.getMac());
|
||||
statement.bindLong(1, _tmp);
|
||||
final byte[] _tmp_1 = Converters.INSTANCE.persistCharSequence(entity.getNickname());
|
||||
if (_tmp_1 == null) {
|
||||
statement.bindNull(2);
|
||||
} else {
|
||||
statement.bindBlob(2, _tmp_1);
|
||||
}
|
||||
final int _tmp_2 = entity.getBlocked() ? 1 : 0;
|
||||
statement.bindLong(3, _tmp_2);
|
||||
final int _tmp_3 = entity.getMacLookupPending() ? 1 : 0;
|
||||
statement.bindLong(4, _tmp_3);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Object updateInternal(final ClientRecord value,
|
||||
final Continuation<? super Long> $completion) {
|
||||
return CoroutinesRoom.execute(__db, true, new Callable<Long>() {
|
||||
@Override
|
||||
@NonNull
|
||||
public Long call() throws Exception {
|
||||
__db.beginTransaction();
|
||||
try {
|
||||
final Long _result = __insertionAdapterOfClientRecord.insertAndReturnId(value);
|
||||
__db.setTransactionSuccessful();
|
||||
return _result;
|
||||
} finally {
|
||||
__db.endTransaction();
|
||||
}
|
||||
}
|
||||
}, $completion);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object upsert(final MacAddress mac,
|
||||
final Function2<? super ClientRecord, ? super Continuation<? super Unit>, ?> operation,
|
||||
final Continuation<? super ClientRecord> $completion) {
|
||||
return RoomDatabaseKt.withTransaction(__db, (__cont) -> ClientRecord_Dao_Impl.super.upsert(mac, operation, __cont), $completion);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ClientRecord lookupBlocking(final MacAddress mac) {
|
||||
final String _sql = "SELECT * FROM `ClientRecord` WHERE `mac` = ?";
|
||||
final RoomSQLiteQuery _statement = RoomSQLiteQuery.acquire(_sql, 1);
|
||||
int _argIndex = 1;
|
||||
final long _tmp = Converters.INSTANCE.persistMacAddress(mac);
|
||||
_statement.bindLong(_argIndex, _tmp);
|
||||
__db.assertNotSuspendingTransaction();
|
||||
final Cursor _cursor = DBUtil.query(__db, _statement, false, null);
|
||||
try {
|
||||
final int _cursorIndexOfMac = CursorUtil.getColumnIndexOrThrow(_cursor, "mac");
|
||||
final int _cursorIndexOfNickname = CursorUtil.getColumnIndexOrThrow(_cursor, "nickname");
|
||||
final int _cursorIndexOfBlocked = CursorUtil.getColumnIndexOrThrow(_cursor, "blocked");
|
||||
final int _cursorIndexOfMacLookupPending = CursorUtil.getColumnIndexOrThrow(_cursor, "macLookupPending");
|
||||
final ClientRecord _result;
|
||||
if (_cursor.moveToFirst()) {
|
||||
final MacAddress _tmpMac;
|
||||
final long _tmp_1;
|
||||
_tmp_1 = _cursor.getLong(_cursorIndexOfMac);
|
||||
_tmpMac = Converters.INSTANCE.unpersistMacAddress(_tmp_1);
|
||||
final CharSequence _tmpNickname;
|
||||
final byte[] _tmp_2;
|
||||
if (_cursor.isNull(_cursorIndexOfNickname)) {
|
||||
_tmp_2 = null;
|
||||
} else {
|
||||
_tmp_2 = _cursor.getBlob(_cursorIndexOfNickname);
|
||||
}
|
||||
_tmpNickname = Converters.INSTANCE.unpersistCharSequence(_tmp_2);
|
||||
final boolean _tmpBlocked;
|
||||
final int _tmp_3;
|
||||
_tmp_3 = _cursor.getInt(_cursorIndexOfBlocked);
|
||||
_tmpBlocked = _tmp_3 != 0;
|
||||
final boolean _tmpMacLookupPending;
|
||||
final int _tmp_4;
|
||||
_tmp_4 = _cursor.getInt(_cursorIndexOfMacLookupPending);
|
||||
_tmpMacLookupPending = _tmp_4 != 0;
|
||||
_result = new ClientRecord(_tmpMac,_tmpNickname,_tmpBlocked,_tmpMacLookupPending);
|
||||
} else {
|
||||
_result = null;
|
||||
}
|
||||
return _result;
|
||||
} finally {
|
||||
_cursor.close();
|
||||
_statement.release();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Object lookup(final MacAddress mac,
|
||||
final Continuation<? super ClientRecord> $completion) {
|
||||
final String _sql = "SELECT * FROM `ClientRecord` WHERE `mac` = ?";
|
||||
final RoomSQLiteQuery _statement = RoomSQLiteQuery.acquire(_sql, 1);
|
||||
int _argIndex = 1;
|
||||
final long _tmp = Converters.INSTANCE.persistMacAddress(mac);
|
||||
_statement.bindLong(_argIndex, _tmp);
|
||||
final CancellationSignal _cancellationSignal = DBUtil.createCancellationSignal();
|
||||
return CoroutinesRoom.execute(__db, false, _cancellationSignal, new Callable<ClientRecord>() {
|
||||
@Override
|
||||
@Nullable
|
||||
public ClientRecord call() throws Exception {
|
||||
final Cursor _cursor = DBUtil.query(__db, _statement, false, null);
|
||||
try {
|
||||
final int _cursorIndexOfMac = CursorUtil.getColumnIndexOrThrow(_cursor, "mac");
|
||||
final int _cursorIndexOfNickname = CursorUtil.getColumnIndexOrThrow(_cursor, "nickname");
|
||||
final int _cursorIndexOfBlocked = CursorUtil.getColumnIndexOrThrow(_cursor, "blocked");
|
||||
final int _cursorIndexOfMacLookupPending = CursorUtil.getColumnIndexOrThrow(_cursor, "macLookupPending");
|
||||
final ClientRecord _result;
|
||||
if (_cursor.moveToFirst()) {
|
||||
final MacAddress _tmpMac;
|
||||
final long _tmp_1;
|
||||
_tmp_1 = _cursor.getLong(_cursorIndexOfMac);
|
||||
_tmpMac = Converters.INSTANCE.unpersistMacAddress(_tmp_1);
|
||||
final CharSequence _tmpNickname;
|
||||
final byte[] _tmp_2;
|
||||
if (_cursor.isNull(_cursorIndexOfNickname)) {
|
||||
_tmp_2 = null;
|
||||
} else {
|
||||
_tmp_2 = _cursor.getBlob(_cursorIndexOfNickname);
|
||||
}
|
||||
_tmpNickname = Converters.INSTANCE.unpersistCharSequence(_tmp_2);
|
||||
final boolean _tmpBlocked;
|
||||
final int _tmp_3;
|
||||
_tmp_3 = _cursor.getInt(_cursorIndexOfBlocked);
|
||||
_tmpBlocked = _tmp_3 != 0;
|
||||
final boolean _tmpMacLookupPending;
|
||||
final int _tmp_4;
|
||||
_tmp_4 = _cursor.getInt(_cursorIndexOfMacLookupPending);
|
||||
_tmpMacLookupPending = _tmp_4 != 0;
|
||||
_result = new ClientRecord(_tmpMac,_tmpNickname,_tmpBlocked,_tmpMacLookupPending);
|
||||
} else {
|
||||
_result = null;
|
||||
}
|
||||
return _result;
|
||||
} finally {
|
||||
_cursor.close();
|
||||
_statement.release();
|
||||
}
|
||||
}
|
||||
}, $completion);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected LiveData<ClientRecord> lookupSync(final MacAddress mac) {
|
||||
final String _sql = "SELECT * FROM `ClientRecord` WHERE `mac` = ?";
|
||||
final RoomSQLiteQuery _statement = RoomSQLiteQuery.acquire(_sql, 1);
|
||||
int _argIndex = 1;
|
||||
final long _tmp = Converters.INSTANCE.persistMacAddress(mac);
|
||||
_statement.bindLong(_argIndex, _tmp);
|
||||
return __db.getInvalidationTracker().createLiveData(new String[] {"ClientRecord"}, false, new Callable<ClientRecord>() {
|
||||
@Override
|
||||
@Nullable
|
||||
public ClientRecord call() throws Exception {
|
||||
final Cursor _cursor = DBUtil.query(__db, _statement, false, null);
|
||||
try {
|
||||
final int _cursorIndexOfMac = CursorUtil.getColumnIndexOrThrow(_cursor, "mac");
|
||||
final int _cursorIndexOfNickname = CursorUtil.getColumnIndexOrThrow(_cursor, "nickname");
|
||||
final int _cursorIndexOfBlocked = CursorUtil.getColumnIndexOrThrow(_cursor, "blocked");
|
||||
final int _cursorIndexOfMacLookupPending = CursorUtil.getColumnIndexOrThrow(_cursor, "macLookupPending");
|
||||
final ClientRecord _result;
|
||||
if (_cursor.moveToFirst()) {
|
||||
final MacAddress _tmpMac;
|
||||
final long _tmp_1;
|
||||
_tmp_1 = _cursor.getLong(_cursorIndexOfMac);
|
||||
_tmpMac = Converters.INSTANCE.unpersistMacAddress(_tmp_1);
|
||||
final CharSequence _tmpNickname;
|
||||
final byte[] _tmp_2;
|
||||
if (_cursor.isNull(_cursorIndexOfNickname)) {
|
||||
_tmp_2 = null;
|
||||
} else {
|
||||
_tmp_2 = _cursor.getBlob(_cursorIndexOfNickname);
|
||||
}
|
||||
_tmpNickname = Converters.INSTANCE.unpersistCharSequence(_tmp_2);
|
||||
final boolean _tmpBlocked;
|
||||
final int _tmp_3;
|
||||
_tmp_3 = _cursor.getInt(_cursorIndexOfBlocked);
|
||||
_tmpBlocked = _tmp_3 != 0;
|
||||
final boolean _tmpMacLookupPending;
|
||||
final int _tmp_4;
|
||||
_tmp_4 = _cursor.getInt(_cursorIndexOfMacLookupPending);
|
||||
_tmpMacLookupPending = _tmp_4 != 0;
|
||||
_result = new ClientRecord(_tmpMac,_tmpNickname,_tmpBlocked,_tmpMacLookupPending);
|
||||
} else {
|
||||
_result = null;
|
||||
}
|
||||
return _result;
|
||||
} finally {
|
||||
_cursor.close();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void finalize() {
|
||||
_statement.release();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static List<Class<?>> getRequiredConverters() {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,156 @@
|
||||
package hanson.xyz.vpnhotspotmod.room;
|
||||
|
||||
import android.database.Cursor;
|
||||
import android.net.MacAddress;
|
||||
import android.os.CancellationSignal;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.room.CoroutinesRoom;
|
||||
import androidx.room.EntityInsertionAdapter;
|
||||
import androidx.room.RoomDatabase;
|
||||
import androidx.room.RoomSQLiteQuery;
|
||||
import androidx.room.util.DBUtil;
|
||||
import androidx.sqlite.db.SupportSQLiteStatement;
|
||||
import java.lang.Class;
|
||||
import java.lang.Exception;
|
||||
import java.lang.Object;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
import java.lang.SuppressWarnings;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.Callable;
|
||||
import javax.annotation.processing.Generated;
|
||||
import kotlin.coroutines.Continuation;
|
||||
|
||||
@Generated("androidx.room.RoomProcessor")
|
||||
@SuppressWarnings({"unchecked", "deprecation"})
|
||||
public final class TrafficRecord_Dao_Impl extends TrafficRecord.Dao {
|
||||
private final RoomDatabase __db;
|
||||
|
||||
private final EntityInsertionAdapter<TrafficRecord> __insertionAdapterOfTrafficRecord;
|
||||
|
||||
public TrafficRecord_Dao_Impl(@NonNull final RoomDatabase __db) {
|
||||
this.__db = __db;
|
||||
this.__insertionAdapterOfTrafficRecord = new EntityInsertionAdapter<TrafficRecord>(__db) {
|
||||
@Override
|
||||
@NonNull
|
||||
protected String createQuery() {
|
||||
return "INSERT OR ABORT INTO `TrafficRecord` (`id`,`timestamp`,`mac`,`ip`,`upstream`,`downstream`,`sentPackets`,`sentBytes`,`receivedPackets`,`receivedBytes`,`previousId`) VALUES (?,?,?,?,?,?,?,?,?,?,?)";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void bind(@NonNull final SupportSQLiteStatement statement,
|
||||
@NonNull final TrafficRecord entity) {
|
||||
if (entity.getId() == null) {
|
||||
statement.bindNull(1);
|
||||
} else {
|
||||
statement.bindLong(1, entity.getId());
|
||||
}
|
||||
statement.bindLong(2, entity.getTimestamp());
|
||||
final long _tmp = Converters.INSTANCE.persistMacAddress(entity.getMac());
|
||||
statement.bindLong(3, _tmp);
|
||||
final byte[] _tmp_1 = Converters.INSTANCE.persistInetAddress(entity.getIp());
|
||||
if (_tmp_1 == null) {
|
||||
statement.bindNull(4);
|
||||
} else {
|
||||
statement.bindBlob(4, _tmp_1);
|
||||
}
|
||||
if (entity.getUpstream() == null) {
|
||||
statement.bindNull(5);
|
||||
} else {
|
||||
statement.bindString(5, entity.getUpstream());
|
||||
}
|
||||
if (entity.getDownstream() == null) {
|
||||
statement.bindNull(6);
|
||||
} else {
|
||||
statement.bindString(6, entity.getDownstream());
|
||||
}
|
||||
statement.bindLong(7, entity.getSentPackets());
|
||||
statement.bindLong(8, entity.getSentBytes());
|
||||
statement.bindLong(9, entity.getReceivedPackets());
|
||||
statement.bindLong(10, entity.getReceivedBytes());
|
||||
if (entity.getPreviousId() == null) {
|
||||
statement.bindNull(11);
|
||||
} else {
|
||||
statement.bindLong(11, entity.getPreviousId());
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
protected long insertInternal(final TrafficRecord value) {
|
||||
__db.assertNotSuspendingTransaction();
|
||||
__db.beginTransaction();
|
||||
try {
|
||||
final long _result = __insertionAdapterOfTrafficRecord.insertAndReturnId(value);
|
||||
__db.setTransactionSuccessful();
|
||||
return _result;
|
||||
} finally {
|
||||
__db.endTransaction();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object queryStats(final MacAddress mac,
|
||||
final Continuation<? super ClientStats> $completion) {
|
||||
final String _sql = "\n"
|
||||
+ " SELECT MIN(TrafficRecord.timestamp) AS timestamp,\n"
|
||||
+ " COUNT(TrafficRecord.id) AS count,\n"
|
||||
+ " SUM(TrafficRecord.sentPackets) AS sentPackets,\n"
|
||||
+ " SUM(TrafficRecord.sentBytes) AS sentBytes,\n"
|
||||
+ " SUM(TrafficRecord.receivedPackets) AS receivedPackets,\n"
|
||||
+ " SUM(TrafficRecord.receivedBytes) AS receivedBytes\n"
|
||||
+ " FROM TrafficRecord LEFT JOIN TrafficRecord AS Next ON TrafficRecord.id = Next.previousId\n"
|
||||
+ " /* We only want to find the last record for each chain so that we don't double count */\n"
|
||||
+ " WHERE TrafficRecord.mac = ? AND Next.id IS NULL\n"
|
||||
+ " ";
|
||||
final RoomSQLiteQuery _statement = RoomSQLiteQuery.acquire(_sql, 1);
|
||||
int _argIndex = 1;
|
||||
final long _tmp = Converters.INSTANCE.persistMacAddress(mac);
|
||||
_statement.bindLong(_argIndex, _tmp);
|
||||
final CancellationSignal _cancellationSignal = DBUtil.createCancellationSignal();
|
||||
return CoroutinesRoom.execute(__db, false, _cancellationSignal, new Callable<ClientStats>() {
|
||||
@Override
|
||||
@NonNull
|
||||
public ClientStats call() throws Exception {
|
||||
final Cursor _cursor = DBUtil.query(__db, _statement, false, null);
|
||||
try {
|
||||
final int _cursorIndexOfTimestamp = 0;
|
||||
final int _cursorIndexOfCount = 1;
|
||||
final int _cursorIndexOfSentPackets = 2;
|
||||
final int _cursorIndexOfSentBytes = 3;
|
||||
final int _cursorIndexOfReceivedPackets = 4;
|
||||
final int _cursorIndexOfReceivedBytes = 5;
|
||||
final ClientStats _result;
|
||||
if (_cursor.moveToFirst()) {
|
||||
final long _tmpTimestamp;
|
||||
_tmpTimestamp = _cursor.getLong(_cursorIndexOfTimestamp);
|
||||
final long _tmpCount;
|
||||
_tmpCount = _cursor.getLong(_cursorIndexOfCount);
|
||||
final long _tmpSentPackets;
|
||||
_tmpSentPackets = _cursor.getLong(_cursorIndexOfSentPackets);
|
||||
final long _tmpSentBytes;
|
||||
_tmpSentBytes = _cursor.getLong(_cursorIndexOfSentBytes);
|
||||
final long _tmpReceivedPackets;
|
||||
_tmpReceivedPackets = _cursor.getLong(_cursorIndexOfReceivedPackets);
|
||||
final long _tmpReceivedBytes;
|
||||
_tmpReceivedBytes = _cursor.getLong(_cursorIndexOfReceivedBytes);
|
||||
_result = new ClientStats(_tmpTimestamp,_tmpCount,_tmpSentPackets,_tmpSentBytes,_tmpReceivedPackets,_tmpReceivedBytes);
|
||||
} else {
|
||||
_result = null;
|
||||
}
|
||||
return _result;
|
||||
} finally {
|
||||
_cursor.close();
|
||||
_statement.release();
|
||||
}
|
||||
}
|
||||
}, $completion);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static List<Class<?>> getRequiredConverters() {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
[
|
||||
{
|
||||
"group": "absent",
|
||||
"version": "absent",
|
||||
"name": "absent"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1 @@
|
||||
0:125 Debug License Info
|
||||
@@ -0,0 +1 @@
|
||||
Licenses are only provided in build variants (e.g. release) where the Android Gradle Plugin generates an app dependency list.
|
||||
1
mobile/build/gmpAppId.txt
Normal file
1
mobile/build/gmpAppId.txt
Normal file
@@ -0,0 +1 @@
|
||||
1:13108846109:android:63120dcb2e900ed0
|
||||
@@ -0,0 +1 @@
|
||||
{"room-compiler-2.6.1.jar (androidx.room:room-compiler:2.6.1)":"KSP_PROCESSOR","databinding-compiler-8.2.0.jar (androidx.databinding:databinding-compiler:8.2.0)":"INCREMENTAL_AP"}
|
||||
Binary file not shown.
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"version": 3,
|
||||
"artifactType": {
|
||||
"type": "APK",
|
||||
"kind": "Directory"
|
||||
},
|
||||
"applicationId": "hanson.xyz.vpnhotspotmod",
|
||||
"variantName": "freedomDebug",
|
||||
"elements": [
|
||||
{
|
||||
"type": "SINGLE",
|
||||
"filters": [],
|
||||
"attributes": [],
|
||||
"versionCode": 1005,
|
||||
"versionName": "2.16.5",
|
||||
"outputFile": "mobile-freedom-debug.apk"
|
||||
}
|
||||
],
|
||||
"elementType": "File"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
#- File Locator -
|
||||
listingFile=../../../outputs/apk/freedom/debug/output-metadata.json
|
||||
@@ -0,0 +1,2 @@
|
||||
appMetadataVersion=1.1
|
||||
androidGradlePluginVersion=8.2.0
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"version": 3,
|
||||
"artifactType": {
|
||||
"type": "COMPATIBLE_SCREEN_MANIFEST",
|
||||
"kind": "Directory"
|
||||
},
|
||||
"applicationId": "hanson.xyz.vpnhotspotmod",
|
||||
"variantName": "freedomDebug",
|
||||
"elements": []
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
|
||||
{"version":5,"adapterMethods":{"android:src":[[{"viewType":"android.widget.ImageView","valueType":"int"},{"type":"hanson.xyz.vpnhotspotmod.util.UtilsKt","method":"setImageResource","requiresOldValue":false,"isStatic":true,"componentClass":null}]],"android:visibility":[[{"viewType":"android.view.View","valueType":"boolean"},{"type":"hanson.xyz.vpnhotspotmod.util.UtilsKt","method":"setVisibility","requiresOldValue":false,"isStatic":true,"componentClass":null}]]},"renamedMethods":{},"conversionMethods":{},"untaggableTypes":{},"multiValueAdapters":{},"inverseAdapters":{},"inverseMethods":{},"twoWayMethods":{},"useAndroidX":true}
|
||||
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_main" modulePackage="hanson.xyz.vpnhotspotmod" filePath="mobile/src/main/res/layout/activity_main.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.LinearLayout"><Targets><Target tag="layout/activity_main_0" view="LinearLayout"><Expressions/><location startLine="1" startOffset="0" endLine="36" endOffset="14"/></Target><Target id="@+id/toolbar" view="com.google.android.material.appbar.MaterialToolbar"><Expressions/><location startLine="10" startOffset="4" endLine="16" endOffset="37"/></Target><Target id="@+id/fragmentHolder" view="androidx.fragment.app.FragmentContainerView"><Expressions/><location startLine="23" startOffset="8" endLine="26" endOffset="49"/></Target><Target id="@+id/navigation" view="com.google.android.material.bottomnavigation.BottomNavigationView"><Expressions/><location startLine="30" startOffset="4" endLine="34" endOffset="36"/></Target></Targets></Layout>
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="fragment_clients" modulePackage="hanson.xyz.vpnhotspotmod" filePath="mobile/src/main/res/layout/fragment_clients.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="androidx.swiperefreshlayout.widget.SwipeRefreshLayout" rootNodeViewId="@+id/swipeRefresher"><Targets><Target id="@+id/swipeRefresher" tag="layout/fragment_clients_0" view="androidx.swiperefreshlayout.widget.SwipeRefreshLayout"><Expressions/><location startLine="1" startOffset="0" endLine="16" endOffset="55"/></Target><Target id="@+id/clients" view="androidx.recyclerview.widget.RecyclerView"><Expressions/><location startLine="8" startOffset="4" endLine="15" endOffset="49"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="fragment_ebeg" modulePackage="hanson.xyz.vpnhotspotmod" filePath="mobile/src/main/res/layout/fragment_ebeg.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.ScrollView"><Targets><Target tag="layout/fragment_ebeg_0" view="ScrollView"><Expressions/><location startLine="6" startOffset="0" endLine="86" endOffset="12"/></Target><Target id="@+id/donations__google" view="LinearLayout"><Expressions/><location startLine="28" startOffset="8" endLine="77" endOffset="22"/></Target><Target id="@+id/donations__google_android_market_spinner" view="Spinner"><Expressions/><location startLine="59" startOffset="16" endLine="66" endOffset="84"/></Target><Target id="@+id/donations__google_android_market_donate_button" view="Button"><Expressions/><location startLine="68" startOffset="16" endLine="74" endOffset="91"/></Target><Target id="@+id/donations__more_donate_button" view="Button"><Expressions/><location startLine="79" startOffset="8" endLine="83" endOffset="61"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="fragment_tethering" modulePackage="hanson.xyz.vpnhotspotmod" filePath="mobile/src/main/res/layout/fragment_tethering.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="androidx.recyclerview.widget.RecyclerView" rootNodeViewId="@+id/interfaces"><Targets><Target id="@+id/interfaces" tag="layout/fragment_tethering_0" view="androidx.recyclerview.widget.RecyclerView"><Expressions/><location startLine="1" startOffset="0" endLine="9" endOffset="48"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="listitem_client" modulePackage="hanson.xyz.vpnhotspotmod" filePath="mobile/src/main/res/layout/listitem_client.xml" directory="layout" isMerge="false" isBindingData="true" rootNodeType="android.widget.LinearLayout"><Variables declared="true" type="hanson.xyz.vpnhotspotmod.client.Client" name="client"><location startLine="5" startOffset="8" endLine="7" endOffset="58"/></Variables><Variables declared="true" type="hanson.xyz.vpnhotspotmod.client.ClientsFragment.TrafficRate" name="rate"><location startLine="8" startOffset="8" endLine="10" endOffset="79"/></Variables><Targets><Target tag="layout/listitem_client_0" view="LinearLayout"><Expressions/><location startLine="13" startOffset="4" endLine="61" endOffset="18"/></Target><Target tag="binding_1" view="ImageView"><Expressions><Expression text="client.icon" attribute="android:src"><Location startLine="25" startOffset="12" endLine="25" endOffset="39"/><TwoWay>false</TwoWay><ValueLocation startLine="25" startOffset="27" endLine="25" endOffset="37"/></Expression></Expressions><location startLine="20" startOffset="8" endLine="27" endOffset="57"/></Target><Target tag="binding_2" view="hanson.xyz.vpnhotspotmod.widget.LinkTextView"><Expressions><Expression text="client.title" attribute="android:text"><Location startLine="42" startOffset="16" endLine="42" endOffset="45"/><TwoWay>false</TwoWay><ValueLocation startLine="42" startOffset="32" endLine="42" endOffset="43"/></Expression><Expression text="client.titleSelectable" attribute="android:textIsSelectable"><Location startLine="44" startOffset="16" endLine="44" endOffset="67"/><TwoWay>false</TwoWay><ValueLocation startLine="44" startOffset="44" endLine="44" endOffset="65"/></Expression></Expressions><location startLine="39" startOffset="12" endLine="45" endOffset="58"/></Target><Target id="@+id/description" tag="binding_3" view="hanson.xyz.vpnhotspotmod.widget.AutoCollapseTextView"><Expressions><Expression text="client.description" attribute="android:text"><Location startLine="51" startOffset="16" endLine="51" endOffset="51"/><TwoWay>false</TwoWay><ValueLocation startLine="51" startOffset="32" endLine="51" endOffset="49"/></Expression></Expressions><location startLine="47" startOffset="12" endLine="53" endOffset="106"/></Target><Target tag="binding_4" view="hanson.xyz.vpnhotspotmod.widget.AutoCollapseTextView"><Expressions><Expression text="rate.toString()" attribute="android:text"><Location startLine="58" startOffset="16" endLine="58" endOffset="48"/><TwoWay>false</TwoWay><ValueLocation startLine="58" startOffset="32" endLine="58" endOffset="46"/></Expression></Expressions><location startLine="55" startOffset="12" endLine="59" endOffset="54"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="listitem_interface" modulePackage="hanson.xyz.vpnhotspotmod" filePath="mobile/src/main/res/layout/listitem_interface.xml" directory="layout" isMerge="false" isBindingData="true" rootNodeType="android.widget.LinearLayout"><Variables declared="true" type="hanson.xyz.vpnhotspotmod.manage.Data" name="data"><location startLine="5" startOffset="8" endLine="7" endOffset="56"/></Variables><Targets><Target tag="layout/listitem_interface_0" view="LinearLayout"><Expressions/><location startLine="9" startOffset="4" endLine="66" endOffset="18"/></Target><Target tag="binding_1" view="ImageView"><Expressions><Expression text="data.icon" attribute="android:src"><Location startLine="22" startOffset="12" endLine="22" endOffset="37"/><TwoWay>false</TwoWay><ValueLocation startLine="22" startOffset="27" endLine="22" endOffset="35"/></Expression></Expressions><location startLine="17" startOffset="8" endLine="24" endOffset="57"/></Target><Target tag="binding_2" view="TextView"><Expressions><Expression text="data.title" attribute="android:text"><Location startLine="42" startOffset="16" endLine="42" endOffset="43"/><TwoWay>false</TwoWay><ValueLocation startLine="42" startOffset="32" endLine="42" endOffset="41"/></Expression></Expressions><location startLine="39" startOffset="12" endLine="44" endOffset="35"/></Target><Target id="@+id/text" tag="binding_3" view="hanson.xyz.vpnhotspotmod.widget.AutoCollapseTextView"><Expressions><Expression text="data.text" attribute="android:text"><Location startLine="50" startOffset="16" endLine="50" endOffset="42"/><TwoWay>false</TwoWay><ValueLocation startLine="50" startOffset="32" endLine="50" endOffset="40"/></Expression><Expression text="data.selectable" attribute="android:textIsSelectable"><Location startLine="51" startOffset="16" endLine="51" endOffset="60"/><TwoWay>false</TwoWay><ValueLocation startLine="51" startOffset="44" endLine="51" endOffset="58"/></Expression></Expressions><location startLine="46" startOffset="12" endLine="52" endOffset="64"/></Target><Target tag="binding_4" view="com.google.android.material.materialswitch.MaterialSwitch"><Expressions><Expression text="data.active" attribute="android:checked"><Location startLine="59" startOffset="12" endLine="59" endOffset="43"/><TwoWay>false</TwoWay><ValueLocation startLine="59" startOffset="31" endLine="59" endOffset="41"/></Expression></Expressions><location startLine="55" startOffset="8" endLine="64" endOffset="46"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="listitem_manage" modulePackage="hanson.xyz.vpnhotspotmod" filePath="mobile/src/main/res/layout/listitem_manage.xml" directory="layout" isMerge="false" isBindingData="true" rootNodeType="android.widget.LinearLayout"><Variables declared="true" type="hanson.xyz.vpnhotspotmod.manage.ManageBar.Data" name="data"><location startLine="4" startOffset="8" endLine="6" endOffset="66"/></Variables><Targets><Target tag="layout/listitem_manage_0" view="LinearLayout"><Expressions/><location startLine="8" startOffset="4" endLine="48" endOffset="18"/></Target><Target id="@+id/offloadEnabled" tag="binding_1" view="TextView"><Expressions><Expression text="data.offloadEnabled" attribute="android:visibility"><Location startLine="44" startOffset="16" endLine="44" endOffset="58"/><TwoWay>false</TwoWay><ValueLocation startLine="44" startOffset="38" endLine="44" endOffset="56"/></Expression></Expressions><location startLine="40" startOffset="12" endLine="45" endOffset="72"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="listitem_repeater" modulePackage="hanson.xyz.vpnhotspotmod" filePath="mobile/src/main/res/layout/listitem_repeater.xml" directory="layout" isMerge="false" isBindingData="true" rootNodeType="android.widget.LinearLayout"><Variables declared="true" type="hanson.xyz.vpnhotspotmod.manage.RepeaterManager.Data" name="data"><location startLine="6" startOffset="8" endLine="8" endOffset="72"/></Variables><Imports type="hanson.xyz.vpnhotspotmod.net.wifi.WifiP2pManagerHelper" name="WifiP2pManagerHelper"><location startLine="5" startOffset="8" endLine="5" endOffset="78"/></Imports><Targets><Target tag="layout/listitem_repeater_0" view="LinearLayout"><Expressions/><location startLine="10" startOffset="4" endLine="106" endOffset="18"/></Target><Target tag="binding_1" view="LinearLayout"><Expressions><Expression text="_ -> data.toggle()" attribute="android:onClick"><Location startLine="21" startOffset="12" endLine="21" endOffset="50"/><TwoWay>false</TwoWay><ValueLocation startLine="21" startOffset="31" endLine="21" endOffset="48"/></Expression></Expressions><location startLine="14" startOffset="8" endLine="71" endOffset="22"/></Target><Target tag="binding_2" view="TextView"><Expressions><Expression text="data.title" attribute="android:text"><Location startLine="47" startOffset="20" endLine="47" endOffset="47"/><TwoWay>false</TwoWay><ValueLocation startLine="47" startOffset="36" endLine="47" endOffset="45"/></Expression></Expressions><location startLine="44" startOffset="16" endLine="48" endOffset="85"/></Target><Target id="@+id/addresses" tag="binding_3" view="hanson.xyz.vpnhotspotmod.widget.AutoCollapseTextView"><Expressions><Expression text="data.addresses" attribute="android:text"><Location startLine="54" startOffset="20" endLine="54" endOffset="51"/><TwoWay>false</TwoWay><ValueLocation startLine="54" startOffset="36" endLine="54" endOffset="49"/></Expression></Expressions><location startLine="50" startOffset="16" endLine="56" endOffset="68"/></Target><Target tag="binding_4" view="com.google.android.material.materialswitch.MaterialSwitch"><Expressions><Expression text="data.serviceStarted" attribute="android:checked"><Location startLine="63" startOffset="16" endLine="63" endOffset="55"/><TwoWay>false</TwoWay><ValueLocation startLine="63" startOffset="35" endLine="63" endOffset="53"/></Expression><Expression text="data.switchEnabled" attribute="android:enabled"><Location startLine="64" startOffset="16" endLine="64" endOffset="54"/><TwoWay>false</TwoWay><ValueLocation startLine="64" startOffset="35" endLine="64" endOffset="52"/></Expression></Expressions><location startLine="59" startOffset="12" endLine="69" endOffset="50"/></Target><Target tag="binding_5" view="LinearLayout"><Expressions><Expression text="_ -> data.wps()" attribute="android:onClick"><Location startLine="79" startOffset="12" endLine="79" endOffset="47"/><TwoWay>false</TwoWay><ValueLocation startLine="79" startOffset="31" endLine="79" endOffset="45"/></Expression><Expression text="data.serviceStarted && WifiP2pManagerHelper.getStartWps() != null" attribute="android:visibility"><Location startLine="80" startOffset="12" endLine="80" endOffset="108"/><TwoWay>false</TwoWay><ValueLocation startLine="80" startOffset="30" endLine="80" endOffset="106"/></Expression></Expressions><location startLine="73" startOffset="8" endLine="105" endOffset="22"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="preference_material" modulePackage="hanson.xyz.vpnhotspotmod" filePath="mobile/src/main/res/layout/preference_material.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.LinearLayout"><Targets><Target tag="layout/preference_material_0" view="LinearLayout"><Expressions/><location startLine="18" startOffset="0" endLine="70" endOffset="14"/></Target><Target tag="layout/preference_material_0" include="image_frame"><Expressions/><location startLine="30" startOffset="4" endLine="30" endOffset="42"/></Target><Target id="@android:id/title" view="TextView"><Expressions/><location startLine="39" startOffset="8" endLine="44" endOffset="74"/></Target><Target id="@android:id/summary" view="TextView"><Expressions/><location startLine="46" startOffset="8" endLine="56" endOffset="54"/></Target><Target id="@android:id/widget_frame" view="LinearLayout"><Expressions/><location startLine="61" startOffset="4" endLine="68" endOffset="39"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="preference_widget_edittext_autocomplete" modulePackage="hanson.xyz.vpnhotspotmod" filePath="mobile/src/main/res/layout/preference_widget_edittext_autocomplete.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="com.google.android.material.textfield.TextInputLayout"><Targets><Target tag="layout/preference_widget_edittext_autocomplete_0" view="com.google.android.material.textfield.TextInputLayout"><Expressions/><location startLine="1" startOffset="0" endLine="11" endOffset="55"/></Target><Target id="@android:id/edit" view="hanson.xyz.vpnhotspotmod.widget.AlwaysAutoCompleteEditText"><Expressions/><location startLine="6" startOffset="4" endLine="10" endOffset="52"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="preference_widget_material_switch" modulePackage="hanson.xyz.vpnhotspotmod" filePath="mobile/src/main/res/layout/preference_widget_material_switch.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="com.google.android.material.materialswitch.MaterialSwitch" rootNodeViewId="@+id/switchWidget"><Targets><Target id="@+id/switchWidget" tag="layout/preference_widget_material_switch_0" view="com.google.android.material.materialswitch.MaterialSwitch"><Expressions/><location startLine="20" startOffset="0" endLine="27" endOffset="31"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_main" modulePackage="hanson.xyz.vpnhotspotmod" filePath="mobile/src/main/res/layout/activity_main.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.LinearLayout"><Targets><Target tag="layout/activity_main_0" view="LinearLayout"><Expressions/><location startLine="1" startOffset="0" endLine="36" endOffset="14"/></Target><Target id="@+id/toolbar" view="com.google.android.material.appbar.MaterialToolbar"><Expressions/><location startLine="10" startOffset="4" endLine="16" endOffset="37"/></Target><Target id="@+id/fragmentHolder" view="androidx.fragment.app.FragmentContainerView"><Expressions/><location startLine="23" startOffset="8" endLine="26" endOffset="49"/></Target><Target id="@+id/navigation" view="com.google.android.material.bottomnavigation.BottomNavigationView"><Expressions/><location startLine="30" startOffset="4" endLine="34" endOffset="36"/></Target></Targets></Layout>
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="fragment_clients" modulePackage="hanson.xyz.vpnhotspotmod" filePath="mobile/src/main/res/layout/fragment_clients.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="androidx.swiperefreshlayout.widget.SwipeRefreshLayout" rootNodeViewId="@+id/swipeRefresher"><Targets><Target id="@+id/swipeRefresher" tag="layout/fragment_clients_0" view="androidx.swiperefreshlayout.widget.SwipeRefreshLayout"><Expressions/><location startLine="1" startOffset="0" endLine="16" endOffset="55"/></Target><Target id="@+id/clients" view="androidx.recyclerview.widget.RecyclerView"><Expressions/><location startLine="8" startOffset="4" endLine="15" endOffset="49"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="fragment_ebeg" modulePackage="hanson.xyz.vpnhotspotmod" filePath="mobile/src/main/res/layout/fragment_ebeg.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.ScrollView"><Targets><Target tag="layout/fragment_ebeg_0" view="ScrollView"><Expressions/><location startLine="6" startOffset="0" endLine="86" endOffset="12"/></Target><Target id="@+id/donations__google" view="LinearLayout"><Expressions/><location startLine="28" startOffset="8" endLine="77" endOffset="22"/></Target><Target id="@+id/donations__google_android_market_spinner" view="Spinner"><Expressions/><location startLine="59" startOffset="16" endLine="66" endOffset="84"/></Target><Target id="@+id/donations__google_android_market_donate_button" view="Button"><Expressions/><location startLine="68" startOffset="16" endLine="74" endOffset="91"/></Target><Target id="@+id/donations__more_donate_button" view="Button"><Expressions/><location startLine="79" startOffset="8" endLine="83" endOffset="61"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="fragment_tethering" modulePackage="hanson.xyz.vpnhotspotmod" filePath="mobile/src/main/res/layout/fragment_tethering.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="androidx.recyclerview.widget.RecyclerView" rootNodeViewId="@+id/interfaces"><Targets><Target id="@+id/interfaces" tag="layout/fragment_tethering_0" view="androidx.recyclerview.widget.RecyclerView"><Expressions/><location startLine="1" startOffset="0" endLine="9" endOffset="48"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="listitem_client" modulePackage="hanson.xyz.vpnhotspotmod" filePath="mobile/src/main/res/layout/listitem_client.xml" directory="layout" isMerge="false" isBindingData="true" rootNodeType="android.widget.LinearLayout"><Variables declared="true" type="hanson.xyz.vpnhotspotmod.client.Client" name="client"><location startLine="5" startOffset="8" endLine="7" endOffset="58"/></Variables><Variables declared="true" type="hanson.xyz.vpnhotspotmod.client.ClientsFragment.TrafficRate" name="rate"><location startLine="8" startOffset="8" endLine="10" endOffset="79"/></Variables><Targets><Target tag="layout/listitem_client_0" view="LinearLayout"><Expressions/><location startLine="13" startOffset="4" endLine="61" endOffset="18"/></Target><Target tag="binding_1" view="ImageView"><Expressions><Expression text="client.icon" attribute="android:src"><Location startLine="25" startOffset="12" endLine="25" endOffset="39"/><TwoWay>false</TwoWay><ValueLocation startLine="25" startOffset="27" endLine="25" endOffset="37"/></Expression></Expressions><location startLine="20" startOffset="8" endLine="27" endOffset="57"/></Target><Target tag="binding_2" view="hanson.xyz.vpnhotspotmod.widget.LinkTextView"><Expressions><Expression text="client.title" attribute="android:text"><Location startLine="42" startOffset="16" endLine="42" endOffset="45"/><TwoWay>false</TwoWay><ValueLocation startLine="42" startOffset="32" endLine="42" endOffset="43"/></Expression><Expression text="client.titleSelectable" attribute="android:textIsSelectable"><Location startLine="44" startOffset="16" endLine="44" endOffset="67"/><TwoWay>false</TwoWay><ValueLocation startLine="44" startOffset="44" endLine="44" endOffset="65"/></Expression></Expressions><location startLine="39" startOffset="12" endLine="45" endOffset="58"/></Target><Target id="@+id/description" tag="binding_3" view="hanson.xyz.vpnhotspotmod.widget.AutoCollapseTextView"><Expressions><Expression text="client.description" attribute="android:text"><Location startLine="51" startOffset="16" endLine="51" endOffset="51"/><TwoWay>false</TwoWay><ValueLocation startLine="51" startOffset="32" endLine="51" endOffset="49"/></Expression></Expressions><location startLine="47" startOffset="12" endLine="53" endOffset="106"/></Target><Target tag="binding_4" view="hanson.xyz.vpnhotspotmod.widget.AutoCollapseTextView"><Expressions><Expression text="rate.toString()" attribute="android:text"><Location startLine="58" startOffset="16" endLine="58" endOffset="48"/><TwoWay>false</TwoWay><ValueLocation startLine="58" startOffset="32" endLine="58" endOffset="46"/></Expression></Expressions><location startLine="55" startOffset="12" endLine="59" endOffset="54"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="listitem_interface" modulePackage="hanson.xyz.vpnhotspotmod" filePath="mobile/src/main/res/layout/listitem_interface.xml" directory="layout" isMerge="false" isBindingData="true" rootNodeType="android.widget.LinearLayout"><Variables declared="true" type="hanson.xyz.vpnhotspotmod.manage.Data" name="data"><location startLine="5" startOffset="8" endLine="7" endOffset="56"/></Variables><Targets><Target tag="layout/listitem_interface_0" view="LinearLayout"><Expressions/><location startLine="9" startOffset="4" endLine="66" endOffset="18"/></Target><Target tag="binding_1" view="ImageView"><Expressions><Expression text="data.icon" attribute="android:src"><Location startLine="22" startOffset="12" endLine="22" endOffset="37"/><TwoWay>false</TwoWay><ValueLocation startLine="22" startOffset="27" endLine="22" endOffset="35"/></Expression></Expressions><location startLine="17" startOffset="8" endLine="24" endOffset="57"/></Target><Target tag="binding_2" view="TextView"><Expressions><Expression text="data.title" attribute="android:text"><Location startLine="42" startOffset="16" endLine="42" endOffset="43"/><TwoWay>false</TwoWay><ValueLocation startLine="42" startOffset="32" endLine="42" endOffset="41"/></Expression></Expressions><location startLine="39" startOffset="12" endLine="44" endOffset="35"/></Target><Target id="@+id/text" tag="binding_3" view="hanson.xyz.vpnhotspotmod.widget.AutoCollapseTextView"><Expressions><Expression text="data.text" attribute="android:text"><Location startLine="50" startOffset="16" endLine="50" endOffset="42"/><TwoWay>false</TwoWay><ValueLocation startLine="50" startOffset="32" endLine="50" endOffset="40"/></Expression><Expression text="data.selectable" attribute="android:textIsSelectable"><Location startLine="51" startOffset="16" endLine="51" endOffset="60"/><TwoWay>false</TwoWay><ValueLocation startLine="51" startOffset="44" endLine="51" endOffset="58"/></Expression></Expressions><location startLine="46" startOffset="12" endLine="52" endOffset="64"/></Target><Target tag="binding_4" view="com.google.android.material.materialswitch.MaterialSwitch"><Expressions><Expression text="data.active" attribute="android:checked"><Location startLine="59" startOffset="12" endLine="59" endOffset="43"/><TwoWay>false</TwoWay><ValueLocation startLine="59" startOffset="31" endLine="59" endOffset="41"/></Expression></Expressions><location startLine="55" startOffset="8" endLine="64" endOffset="46"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="listitem_manage" modulePackage="hanson.xyz.vpnhotspotmod" filePath="mobile/src/main/res/layout/listitem_manage.xml" directory="layout" isMerge="false" isBindingData="true" rootNodeType="android.widget.LinearLayout"><Variables declared="true" type="hanson.xyz.vpnhotspotmod.manage.ManageBar.Data" name="data"><location startLine="4" startOffset="8" endLine="6" endOffset="66"/></Variables><Targets><Target tag="layout/listitem_manage_0" view="LinearLayout"><Expressions/><location startLine="8" startOffset="4" endLine="48" endOffset="18"/></Target><Target id="@+id/offloadEnabled" tag="binding_1" view="TextView"><Expressions><Expression text="data.offloadEnabled" attribute="android:visibility"><Location startLine="44" startOffset="16" endLine="44" endOffset="58"/><TwoWay>false</TwoWay><ValueLocation startLine="44" startOffset="38" endLine="44" endOffset="56"/></Expression></Expressions><location startLine="40" startOffset="12" endLine="45" endOffset="72"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="listitem_repeater" modulePackage="hanson.xyz.vpnhotspotmod" filePath="mobile/src/main/res/layout/listitem_repeater.xml" directory="layout" isMerge="false" isBindingData="true" rootNodeType="android.widget.LinearLayout"><Variables declared="true" type="hanson.xyz.vpnhotspotmod.manage.RepeaterManager.Data" name="data"><location startLine="6" startOffset="8" endLine="8" endOffset="72"/></Variables><Imports type="hanson.xyz.vpnhotspotmod.net.wifi.WifiP2pManagerHelper" name="WifiP2pManagerHelper"><location startLine="5" startOffset="8" endLine="5" endOffset="78"/></Imports><Targets><Target tag="layout/listitem_repeater_0" view="LinearLayout"><Expressions/><location startLine="10" startOffset="4" endLine="106" endOffset="18"/></Target><Target tag="binding_1" view="LinearLayout"><Expressions><Expression text="_ -> data.toggle()" attribute="android:onClick"><Location startLine="21" startOffset="12" endLine="21" endOffset="50"/><TwoWay>false</TwoWay><ValueLocation startLine="21" startOffset="31" endLine="21" endOffset="48"/></Expression></Expressions><location startLine="14" startOffset="8" endLine="71" endOffset="22"/></Target><Target tag="binding_2" view="TextView"><Expressions><Expression text="data.title" attribute="android:text"><Location startLine="47" startOffset="20" endLine="47" endOffset="47"/><TwoWay>false</TwoWay><ValueLocation startLine="47" startOffset="36" endLine="47" endOffset="45"/></Expression></Expressions><location startLine="44" startOffset="16" endLine="48" endOffset="85"/></Target><Target id="@+id/addresses" tag="binding_3" view="hanson.xyz.vpnhotspotmod.widget.AutoCollapseTextView"><Expressions><Expression text="data.addresses" attribute="android:text"><Location startLine="54" startOffset="20" endLine="54" endOffset="51"/><TwoWay>false</TwoWay><ValueLocation startLine="54" startOffset="36" endLine="54" endOffset="49"/></Expression></Expressions><location startLine="50" startOffset="16" endLine="56" endOffset="68"/></Target><Target tag="binding_4" view="com.google.android.material.materialswitch.MaterialSwitch"><Expressions><Expression text="data.serviceStarted" attribute="android:checked"><Location startLine="63" startOffset="16" endLine="63" endOffset="55"/><TwoWay>false</TwoWay><ValueLocation startLine="63" startOffset="35" endLine="63" endOffset="53"/></Expression><Expression text="data.switchEnabled" attribute="android:enabled"><Location startLine="64" startOffset="16" endLine="64" endOffset="54"/><TwoWay>false</TwoWay><ValueLocation startLine="64" startOffset="35" endLine="64" endOffset="52"/></Expression></Expressions><location startLine="59" startOffset="12" endLine="69" endOffset="50"/></Target><Target tag="binding_5" view="LinearLayout"><Expressions><Expression text="_ -> data.wps()" attribute="android:onClick"><Location startLine="79" startOffset="12" endLine="79" endOffset="47"/><TwoWay>false</TwoWay><ValueLocation startLine="79" startOffset="31" endLine="79" endOffset="45"/></Expression><Expression text="data.serviceStarted && WifiP2pManagerHelper.getStartWps() != null" attribute="android:visibility"><Location startLine="80" startOffset="12" endLine="80" endOffset="108"/><TwoWay>false</TwoWay><ValueLocation startLine="80" startOffset="30" endLine="80" endOffset="106"/></Expression></Expressions><location startLine="73" startOffset="8" endLine="105" endOffset="22"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="preference_material" modulePackage="hanson.xyz.vpnhotspotmod" filePath="mobile/src/main/res/layout/preference_material.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.LinearLayout"><Targets><Target tag="layout/preference_material_0" view="LinearLayout"><Expressions/><location startLine="18" startOffset="0" endLine="70" endOffset="14"/></Target><Target tag="layout/preference_material_0" include="image_frame"><Expressions/><location startLine="30" startOffset="4" endLine="30" endOffset="42"/></Target><Target id="@android:id/title" view="TextView"><Expressions/><location startLine="39" startOffset="8" endLine="44" endOffset="74"/></Target><Target id="@android:id/summary" view="TextView"><Expressions/><location startLine="46" startOffset="8" endLine="56" endOffset="54"/></Target><Target id="@android:id/widget_frame" view="LinearLayout"><Expressions/><location startLine="61" startOffset="4" endLine="68" endOffset="39"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="preference_widget_edittext_autocomplete" modulePackage="hanson.xyz.vpnhotspotmod" filePath="mobile/src/main/res/layout/preference_widget_edittext_autocomplete.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="com.google.android.material.textfield.TextInputLayout"><Targets><Target tag="layout/preference_widget_edittext_autocomplete_0" view="com.google.android.material.textfield.TextInputLayout"><Expressions/><location startLine="1" startOffset="0" endLine="11" endOffset="55"/></Target><Target id="@android:id/edit" view="hanson.xyz.vpnhotspotmod.widget.AlwaysAutoCompleteEditText"><Expressions/><location startLine="6" startOffset="4" endLine="10" endOffset="52"/></Target></Targets></Layout>
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="preference_widget_material_switch" modulePackage="hanson.xyz.vpnhotspotmod" filePath="mobile/src/main/res/layout/preference_widget_material_switch.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="com.google.android.material.materialswitch.MaterialSwitch" rootNodeViewId="@+id/switchWidget"><Targets><Target id="@+id/switchWidget" tag="layout/preference_widget_material_switch_0" view="com.google.android.material.materialswitch.MaterialSwitch"><Expressions/><location startLine="20" startOffset="0" endLine="27" endOffset="31"/></Target></Targets></Layout>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
|
||||
1
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user