Merge branch 'master' into temp-hotspot-use-system

This commit is contained in:
Mygod
2023-03-02 23:19:51 -05:00
148 changed files with 3939 additions and 3409 deletions

View File

@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M21,10.12h-6.78l2.74,-2.82c-2.73,-2.7 -7.15,-2.8 -9.88,-0.1c-2.73,2.71 -2.73,7.08 0,9.79s7.15,2.71 9.88,0C18.32,15.65 19,14.08 19,12.1h2c0,1.98 -0.88,4.55 -2.64,6.29c-3.51,3.48 -9.21,3.48 -12.72,0c-3.5,-3.47 -3.53,-9.11 -0.02,-12.58s9.14,-3.47 12.65,0L21,3V10.12zM12.5,8v4.25l3.5,2.08l-0.72,1.21L11,13V8H12.5z"/>
</vector>

View File

@@ -0,0 +1,5 @@
<vector android:height="24dp" android:tint="#000000"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M19,4L5,4c-1.11,0 -2,0.9 -2,2v12c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2L21,6c0,-1.1 -0.9,-2 -2,-2zM11,11L9.5,11v-0.5h-2v3h2L9.5,13L11,13v1c0,0.55 -0.45,1 -1,1L7,15c-0.55,0 -1,-0.45 -1,-1v-4c0,-0.55 0.45,-1 1,-1h3c0.55,0 1,0.45 1,1v1zM18,11h-1.5v-0.5h-2v3h2L16.5,13L18,13v1c0,0.55 -0.45,1 -1,1h-3c-0.55,0 -1,-0.45 -1,-1v-4c0,-0.55 0.45,-1 1,-1h3c0.55,0 1,0.45 1,1v1z"/>
</vector>

View File

@@ -0,0 +1,5 @@
<vector android:height="24dp" android:tint="#000000"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M19.5,5.5v13h-15v-13h15zM19,4L5,4c-1.11,0 -2,0.9 -2,2v12c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2L21,6c0,-1.1 -0.9,-2 -2,-2zM11,11L9.5,11v-0.5h-2v3h2L9.5,13L11,13v1c0,0.55 -0.45,1 -1,1L7,15c-0.55,0 -1,-0.45 -1,-1v-4c0,-0.55 0.45,-1 1,-1h3c0.55,0 1,0.45 1,1v1zM18,11h-1.5v-0.5h-2v3h2L16.5,13L18,13v1c0,0.55 -0.45,1 -1,1h-3c-0.55,0 -1,-0.45 -1,-1v-4c0,-0.55 0.45,-1 1,-1h3c0.55,0 1,0.45 1,1v1z"/>
</vector>

View File

@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M18.32,4.26C16.84,3.05 15.01,2.25 13,2.05v2.02c1.46,0.18 2.79,0.76 3.9,1.62L18.32,4.26zM19.93,11h2.02c-0.2,-2.01 -1,-3.84 -2.21,-5.32L18.31,7.1C19.17,8.21 19.75,9.54 19.93,11zM18.31,16.9l1.43,1.43c1.21,-1.48 2.01,-3.32 2.21,-5.32h-2.02C19.75,14.46 19.17,15.79 18.31,16.9zM13,19.93v2.02c2.01,-0.2 3.84,-1 5.32,-2.21l-1.43,-1.43C15.79,19.17 14.46,19.75 13,19.93zM13,12V7h-2v5H7l5,5l5,-5H13zM11,19.93v2.02c-5.05,-0.5 -9,-4.76 -9,-9.95s3.95,-9.45 9,-9.95v2.02C7.05,4.56 4,7.92 4,12S7.05,19.44 11,19.93z"/>
</vector>

View File

@@ -0,0 +1,5 @@
<vector android:height="108dp" android:viewportHeight="108.0"
android:viewportWidth="108.0" android:width="108dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#7000" android:pathData="M48,50a4,4 0,1 0,4 4A4,4 0,0 0,48 50ZM60,54A12,12 0,1 0,42 64.38l2,-3.48a8,8 0,1 1,8 0l2,3.48A12,12 0,0 0,60 54ZM48,34A20,20 0,0 0,38 71.3l2,-3.46a16,16 0,1 1,16 0l2,3.46A20,20 0,0 0,48 34Z"/>
<path android:fillColor="#000" android:pathData="M59.3,50a12,12 0,1 0,0 8H68v8h8V58h4V50ZM48,58a4,4 0,1 1,4 -4A4,4 0,0 1,48 58Z"/>
</vector>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/ic_av_closed_caption" android:state_activated="true"/>
<item android:drawable="@drawable/ic_av_closed_caption_off"/>
</selector>

View File

@@ -32,7 +32,6 @@
android:id="@+id/navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?android:attr/windowBackground"
app:menu="@menu/navigation"/>
</LinearLayout>

View File

@@ -5,7 +5,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:viewBindingIgnore="true">
<androidx.emoji.widget.EmojiEditText
<EditText
android:id="@android:id/edit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -14,5 +14,5 @@
android:importantForAutofill="no"
tools:text="Nick">
<requestFocus/>
</androidx.emoji.widget.EmojiEditText>
</EditText>
</FrameLayout>

View File

@@ -16,11 +16,13 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="300sp"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="300sp"
android:layout_height="wrap_content"
android:orientation="vertical">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
@@ -47,13 +49,14 @@
android:hint="@string/wifi_ssid"
app:counterEnabled="true"
app:counterMaxLength="32"
app:endIconContentDescription="@string/wifi_ssid_toggle_hex"
app:endIconDrawable="@drawable/toggle_hex"
app:errorEnabled="true">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/ssid"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/wifi_item_edit_content"
android:inputType="textMultiLine|textNoSuggestions" />
style="@style/wifi_item_edit_content" />
</com.google.android.material.textfield.TextInputLayout>
<LinearLayout
android:id="@+id/security_wrapper"
@@ -95,7 +98,7 @@
android:maxLength="63"
android:imeOptions="flagForceAscii" />
</com.google.android.material.textfield.TextInputLayout>
<Switch
<com.google.android.material.materialswitch.MaterialSwitch
android:id="@+id/auto_shutdown"
style="@style/wifi_item_label"
android:layout_width="match_parent"
@@ -121,91 +124,7 @@
android:inputType="number"
android:maxLength="19" />
</com.google.android.material.textfield.TextInputLayout>
<LinearLayout
android:id="@+id/band_wrapper_2G"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/wifi_item_label"
android:text="@string/wifi_ap_choose_2G" />
<Spinner
android:id="@+id/band_2G"
style="@style/wifi_item_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="@dimen/touch_target_min"
android:prompt="@string/wifi_ap_choose_2G" />
</LinearLayout>
<LinearLayout
android:id="@+id/band_wrapper_5G"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/wifi_item_label"
android:text="@string/wifi_ap_choose_5G" />
<Spinner
android:id="@+id/band_5G"
style="@style/wifi_item_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="@dimen/touch_target_min"
android:prompt="@string/wifi_ap_choose_5G" />
</LinearLayout>
<LinearLayout
android:id="@+id/band_wrapper_6G"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/wifi_item_label"
android:text="@string/wifi_ap_choose_6G" />
<Spinner
android:id="@+id/band_6G"
style="@style/wifi_item_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="@dimen/touch_target_min"
android:prompt="@string/wifi_ap_choose_6G" />
</LinearLayout>
<LinearLayout
android:id="@+id/band_wrapper_60G"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/wifi_item_label"
android:text="@string/wifi_ap_choose_60G" />
<Spinner
android:id="@+id/band_60G"
style="@style/wifi_item_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="@dimen/touch_target_min"
android:prompt="@string/wifi_ap_choose_60G" />
</LinearLayout>
<Switch
android:id="@+id/bridged_mode"
style="@style/wifi_item_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
android:minHeight="@dimen/touch_target_min"
android:text="@string/wifi_bridged_mode" />
<Switch
<com.google.android.material.materialswitch.MaterialSwitch
android:id="@+id/bridged_mode_opportunistic_shutdown"
style="@style/wifi_item_label"
android:layout_width="match_parent"
@@ -214,107 +133,329 @@
android:minHeight="@dimen/touch_target_min"
android:text="@string/wifi_bridged_mode_opportunistic_shutdown" />
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/bssid_wrapper"
android:id="@+id/bridged_timeout_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
android:hint="@string/wifi_hotspot_timeout_bridged"
app:counterEnabled="true"
app:counterMaxLength="17"
app:counterMaxLength="19"
app:errorEnabled="true"
android:hint="@string/wifi_advanced_mac_address_title">
app:suffixText="ms">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/bssid"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/wifi_item_edit_content"
android:inputType="textNoSuggestions"
android:maxLength="17" />
</com.google.android.material.textfield.TextInputLayout>
<Switch
android:id="@+id/mac_randomization"
style="@style/wifi_item_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
android:minHeight="@dimen/touch_target_min"
android:text="@string/wifi_mac_randomization" />
<Switch
android:id="@+id/hidden_ssid"
style="@style/wifi_item_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
android:minHeight="@dimen/touch_target_min"
android:text="@string/wifi_hidden_network" />
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/max_client_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
app:counterEnabled="true"
app:counterMaxLength="10"
app:errorEnabled="true"
android:hint="@string/wifi_max_clients">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/max_client"
android:id="@+id/bridged_timeout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/wifi_item_edit_content"
android:inputType="number"
android:maxLength="10" />
android:maxLength="19" />
</com.google.android.material.textfield.TextInputLayout>
<Switch
android:id="@+id/client_user_control"
style="@style/wifi_item_label"
<LinearLayout
android:id="@+id/band_group"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
android:minHeight="@dimen/touch_target_min"
android:text="@string/wifi_client_user_control" />
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/blocked_list_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
android:hint="@string/wifi_blocked_list"
app:errorEnabled="true">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/blocked_list"
android:orientation="vertical">
<com.google.android.material.divider.MaterialDivider
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/wifi_item_edit_content"
android:inputType="textMultiLine|textNoSuggestions" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/allowed_list_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
android:hint="@string/wifi_allowed_list"
app:errorEnabled="true">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/allowed_list"
style="@style/wifi_item_divider" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/wifi_item_edit_content"
android:inputType="textMultiLine|textNoSuggestions" />
</com.google.android.material.textfield.TextInputLayout>
<Switch
android:id="@+id/ieee_80211ax"
style="@style/wifi_item_label"
style="@style/wifi_item_subhead"
android:text="@string/wifi_hotspot_ap_band_title" />
<Spinner
android:id="@+id/band_primary"
style="@style/wifi_item_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="@dimen/touch_target_min"
android:prompt="@string/wifi_hotspot_ap_band_title" />
<Spinner
android:id="@+id/band_secondary"
style="@style/wifi_item_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="@dimen/touch_target_min"
android:prompt="@string/wifi_hotspot_ap_band_title" />
<TextView
android:id="@+id/band_error"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
android:paddingStart="8dp"
android:textAppearance="@style/TextAppearance.Design.Error"
android:visibility="gone"
tools:text="error text placeholder"
tools:visibility="visible"/>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/acs_2g_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
app:errorEnabled="true"
android:hint="@string/wifi_hotspot_acs_channel_2g">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/acs_2g"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/wifi_item_edit_content"
android:imeOptions="flagForceAscii"
android:inputType="textNoSuggestions" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/acs_5g_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
app:errorEnabled="true"
android:hint="@string/wifi_hotspot_acs_channel_5g">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/acs_5g"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/wifi_item_edit_content"
android:imeOptions="flagForceAscii"
android:inputType="textNoSuggestions" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/acs_6g_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
app:errorEnabled="true"
android:hint="@string/wifi_hotspot_acs_channel_6g">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/acs_6g"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/wifi_item_edit_content"
android:imeOptions="flagForceAscii"
android:inputType="textNoSuggestions" />
</com.google.android.material.textfield.TextInputLayout>
<LinearLayout
android:id="@+id/max_channel_bandwidth_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/wifi_item_label"
android:text="@string/wifi_hotspot_max_channel_bandwidth" />
<Spinner
android:id="@+id/max_channel_bandwidth"
style="@style/wifi_item_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="@dimen/touch_target_min"
android:prompt="@string/wifi_hotspot_max_channel_bandwidth" />
<TextView
android:id="@+id/max_channel_bandwidth_error"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
android:paddingStart="8dp"
android:textAppearance="@style/TextAppearance.Design.Error"
android:visibility="gone"
tools:text="error text placeholder"
tools:visibility="visible"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/access_control_group"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
android:minHeight="@dimen/touch_target_min"
android:text="@string/wifi_ieee_80211ax" />
<Switch
android:id="@+id/user_config"
style="@style/wifi_item_label"
android:orientation="vertical">
<com.google.android.material.divider.MaterialDivider
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/wifi_item_divider" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/wifi_item_subhead"
android:text="@string/wifi_hotspot_access_control_title" />
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/max_client_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
app:counterEnabled="true"
app:counterMaxLength="10"
app:errorEnabled="true"
android:hint="@string/wifi_max_clients">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/max_client"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/wifi_item_edit_content"
android:inputType="number"
android:maxLength="10" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.materialswitch.MaterialSwitch
android:id="@+id/client_user_control"
style="@style/wifi_item_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
android:minHeight="@dimen/touch_target_min"
android:text="@string/wifi_client_user_control" />
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/blocked_list_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
android:hint="@string/wifi_blocked_list"
app:errorEnabled="true">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/blocked_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/wifi_item_edit_content"
android:imeOptions="flagForceAscii"
android:inputType="textMultiLine|textNoSuggestions" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/allowed_list_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
android:hint="@string/wifi_allowed_list"
app:errorEnabled="true">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/allowed_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/wifi_item_edit_content"
android:imeOptions="flagForceAscii"
android:inputType="textMultiLine|textNoSuggestions" />
</com.google.android.material.textfield.TextInputLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/advanced_ap_group"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
android:minHeight="@dimen/touch_target_min"
android:text="@string/wifi_user_config" />
android:orientation="vertical">
<com.google.android.material.divider.MaterialDivider
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/wifi_item_divider" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/wifi_item_subhead"
android:text="@string/wifi_hotspot_ap_advanced_title" />
<LinearLayout
android:id="@+id/mac_randomization_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/wifi_item_label"
android:text="@string/wifi_mac_randomization" />
<Spinner
android:id="@+id/mac_randomization"
style="@style/wifi_item_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="@dimen/touch_target_min"
android:entries="@array/wifi_mac_randomization"
android:prompt="@string/wifi_mac_randomization" />
</LinearLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/bssid_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
app:counterEnabled="true"
app:counterMaxLength="17"
app:errorEnabled="true"
android:hint="@string/wifi_advanced_mac_address_title">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/bssid"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/wifi_item_edit_content"
android:imeOptions="flagForceAscii"
android:inputType="textNoSuggestions"
android:maxLength="17" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/persistent_randomized_mac_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
app:counterEnabled="true"
app:counterMaxLength="17"
app:errorEnabled="true"
android:hint="@string/wifi_advanced_mac_address_persistent_randomized">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/persistent_randomized_mac"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/wifi_item_edit_content"
android:imeOptions="flagForceAscii"
android:inputType="textNoSuggestions"
android:maxLength="17" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.materialswitch.MaterialSwitch
android:id="@+id/hidden_ssid"
style="@style/wifi_item_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
android:minHeight="@dimen/touch_target_min"
android:text="@string/wifi_hidden_network" />
<com.google.android.material.materialswitch.MaterialSwitch
android:id="@+id/ieee_80211ax"
style="@style/wifi_item_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
android:minHeight="@dimen/touch_target_min"
android:text="@string/wifi_ieee_80211ax" />
<com.google.android.material.materialswitch.MaterialSwitch
android:id="@+id/ieee_80211be"
style="@style/wifi_item_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
android:minHeight="@dimen/touch_target_min"
android:text="@string/wifi_ieee_80211be" />
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/vendor_elements_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
app:errorEnabled="true"
android:hint="@string/wifi_vendor_elements">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/vendor_elements"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/wifi_item_edit_content"
android:imeOptions="flagForceAscii"
android:inputType="textMultiLine|textNoSuggestions" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.materialswitch.MaterialSwitch
android:id="@+id/user_config"
style="@style/wifi_item_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
android:enabled="false"
android:minHeight="@dimen/touch_target_min"
android:text="@string/wifi_user_config" />
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>

View File

@@ -13,6 +13,8 @@
android:layout_height="wrap_content"
android:isScrollContainer="true"
android:orientation="vertical"
android:clipChildren="false"
android:clipToPadding="false"
android:paddingTop="16dp"
android:paddingBottom="16dp"
android:paddingLeft="24dp"
@@ -28,6 +30,8 @@
android:id="@+id/donations__google"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipChildren="false"
android:clipToPadding="false"
android:orientation="vertical">
<TextView
@@ -49,6 +53,8 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:clipChildren="false"
android:clipToPadding="false"
android:paddingTop="5dp" >
<Spinner
@@ -65,6 +71,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:minHeight="@dimen/touch_target_min"
android:text="@string/donations__google_android_market_donate_button" />
</LinearLayout>

View File

@@ -12,7 +12,8 @@
android:layout_height="wrap_content"
android:focusable="true"
android:background="?android:attr/selectableItemBackground"
android:padding="16dp">
android:paddingStart="16dp"
android:paddingEnd="16dp">
<ImageView
android:layout_width="wrap_content"
@@ -31,6 +32,8 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginTop="16dp"
android:layout_marginBottom="16dp"
android:orientation="vertical"
android:layout_gravity="center_vertical">
@@ -50,7 +53,7 @@
tools:text="192.168.43.1/24\n01:23:45:ab:cd:ef"/>
</LinearLayout>
<Switch
<com.google.android.material.materialswitch.MaterialSwitch
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"

View File

@@ -17,7 +17,8 @@
android:layout_height="wrap_content"
android:focusable="true"
android:background="?android:attr/selectableItemBackground"
android:padding="16dp"
android:paddingStart="16dp"
android:paddingEnd="16dp"
android:onClick="@{_ -> data.toggle()}">
<ImageView
@@ -37,6 +38,8 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_gravity="center_vertical"
android:layout_marginTop="16dp"
android:layout_marginBottom="16dp"
android:orientation="vertical">
<TextView
@@ -54,7 +57,7 @@
tools:text="192.168.43.1/24\n01:23:45:ab:cd:ef"/>
</LinearLayout>
<Switch
<com.google.android.material.materialswitch.MaterialSwitch
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.material.textfield.TextInputLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/Widget.Material3.TextInputLayout.OutlinedBox.ExposedDropdownMenu">
<be.mygod.vpnhotspot.widget.AlwaysAutoCompleteEditText
android:id="@android:id/edit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="@dimen/touch_target_min"/>
</com.google.android.material.textfield.TextInputLayout>

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Copyright (C) 2015 The Android Open Source Project
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<!-- https://android.googlesource.com/platform/frameworks/support/+/3c79906/preference/preference/res/layout/preference_widget_switch_compat.xml -->
<!-- Layout used by SwitchPreference for the switch widget style. This is inflated
inside android.R.layout.preference. -->
<com.google.android.material.materialswitch.MaterialSwitch
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/switchWidget"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:focusable="false"
android:clickable="false"
android:background="@null"/>

View File

@@ -16,4 +16,10 @@
android:icon="@drawable/ic_action_settings"
android:title="@string/title_settings"/>
<item
android:id="@+id/navigation_update"
android:icon="@drawable/ic_action_update"
android:title="@string/title_update"
android:visible="false"/>
</menu>

View File

@@ -1,5 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
</adaptive-icon>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.8 KiB

View File

@@ -2,4 +2,5 @@
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
</adaptive-icon>
<monochrome android:drawable="@drawable/ic_launcher_monochrome"/>
</adaptive-icon>

View File

@@ -38,7 +38,7 @@
<string name="repeater_failure_disconnected">Servizio non disponibile. Riprova dopo</string>
<string name="tethering_temp_hotspot">Hotspot Wi\u2011Fi temporaneo</string>
<string name="tethering_temp_hotspot_location">L\'hotspot temporaneo richiede che la localizzazione sia attiva.</string>
<string name="tethering_location_off">L\'hotspot temporaneo richiede che la localizzazione sia attiva.</string>
<string name="tethering_temp_hotspot_failure">Avvio dell\'hotspot fallito (causa: %s)</string>
<string name="tethering_temp_hotspot_failure_no_channel">nessun canale</string>
<string name="tethering_temp_hotspot_failure_generic">errore generico</string>
@@ -53,7 +53,6 @@
se il tethering VPN non funziona.</string>
<string name="tethering_manage_usb">Tethering USB</string>
<string name="tethering_manage_wifi">Hotspot Wi\u2011Fi</string>
<string name="tethering_manage_wifi_legacy">Hotspot Wi\u2011Fi (legacy)</string>
<string name="tethering_manage_bluetooth">Tethering Bluetooth</string>
<string name="tethering_manage_ethernet" msgid="959743110824197356">"Tethering Ethernet"</string>
@@ -91,7 +90,6 @@
<string name="settings_service_masquerade_netd">Servizio Android Netd</string>
<string name="settings_service_disable_ipv6">Disabilita tethering IPv6</string>
<string name="settings_service_disable_ipv6_summary">Abilitando questa funzione si preveniranno perdite della VPN via IPv6.</string>
<string name="settings_service_repeater_start_on_boot">Avvia ripetitore all\'avvio</string>
<string name="settings_service_wifi_lock">Tieni il Wi\u2011Fi attivo</string>
<string name="settings_service_wifi_lock_none">Default di sistema</string>
<string name="settings_service_wifi_lock_full">Attivo</string>
@@ -154,9 +152,7 @@
<string name="wifi_password">Password</string>
<string name="wifi_hotspot_auto_off" msgid="5858098059725925084">"L\'hotspot WiFi viene disattivato se non ci sono dispositivi collegati"</string>
<string name="wifi_hotspot_ap_band_title">Banda AP</string>
<string name="wifi_ap_choose_auto" msgid="2677800651271769965">"Automatica"</string>
<string name="wifi_ap_choose_2G" msgid="8724267386885036210">"Banda a 2,4 GHz"</string>
<string name="wifi_ap_choose_5G" msgid="8813128641914385634">"Banda a 5 GHz"</string>
<string name="wifi_ap_choose_G" msgid="8724267386885036210">"Banda a %s GHz"</string>
<string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"Indirizzo MAC"</string>
<string name="wifi_hidden_network" msgid="973162091800925000">"Rete nascosta"</string>
<string name="wifi_save">Salva</string>

View File

@@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="navigationBarColor">@android:color/white</color>
</resources>

View File

@@ -0,0 +1,221 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Contributed by: eduardofortunato569@gmail.com -->
<resources>
<string name="app_name">VPN Hotspot</string>
<string name="title_repeater">Repetidor</string>
<string name="title_tethering">Tethering</string>
<string name="title_clients">Clientes</string>
<string name="title_settings">Configurações</string>
<string name="title_update">Atualização</string>
<string name="repeater_channel">Repetidor (%1$d MHz, channel %2$d)</string>
<string name="repeater_wps">WPS (inseguro)</string>
<string name="repeater_wps_dialog_title">Insira um PIN</string>
<string name="repeater_wps_dialog_pbc">Push Button</string>
<string name="repeater_wps_success_pbc">Por favor, use o botão WPS dentro de 2 minutos para conectar seu dispositivo.</string>
<string name="repeater_wps_success_keypad">PIN registrado.</string>
<string name="repeater_wps_failure">Ocorreu um erro ao acionar o WPS (motivo: %s)</string>
<string name="repeater_configure_failure">Não foi encontrada uma configuração válida. Por favor, inicie o repetidor primeiro.</string>
<string name="repeater_clean_pog_failure">Falha ao remover grupo P2P redundante (motivo: %s)</string>
<string name="repeater_p2p_unavailable">Wi\u2011Fi direct não disponível, por favor, ative o Wi\u2011Fi</string>
<string name="repeater_p2p_unavailable_enable">Ativar</string>
<string name="repeater_create_group_failure">Falha ao criar grupo P2P (motivo: %s)</string>
<string name="repeater_remove_group_failure">Falha ao remover grupo P2P (motivo: %s)</string>
<string name="repeater_remove_old_group_failure">Falha ao remover antigo grupo P2P (motivo: %s)</string>
<string name="repeater_set_oc_failure">Falha ao definir canal operacional (motivo: %s)</string>
<string name="repeater_set_vendor_elements_failure">Falha ao definir elementos do fornecedor (motivo: %s)</string>
<string name="repeater_failure_reason_error">erro interno</string>
<string name="repeater_failure_reason_p2p_unsupported">Wi\u2011Fi direct não suportado</string>
<string name="repeater_failure_reason_no_service_requests">Nenhuma solicitação de serviço adicionada</string>
<string name="repeater_failure_reason_unsupported_operation">Operação não suportada</string>
<string name="repeater_failure_disconnected">Serviço indisponível. Tente novamente mais tarde</string>
<string name="repeater_missing_location_permissions">O repetidor necessita de permissões para acessar esta localização</string>
<string name="repeater_location_off">Por restrições de sistema, desativar a localização pode deixar o repetidor ineficiente e aumentar o consumo de bateria</string>
<string name="repeater_location_off_configure">Configurar</string>
<string name="tethering_temp_hotspot">Hotspot Wi\u2011Fi temporário</string>
<string name="tethering_location_off">Essa função precisa que sua localização esteja ativada para funcionar.</string>
<string name="tethering_temp_hotspot_failure">Houve uma falha ao iniciar o hotspot (motivo: %s)</string>
<string name="tethering_temp_hotspot_failure_no_channel">sem canal</string>
<string name="tethering_temp_hotspot_failure_generic">erro genérico</string>
<string name="tethering_temp_hotspot_failure_incompatible_mode">modo incompatível</string>
<string name="tethering_temp_hotspot_failure_tethering_disallowed">tethering não permitido</string>
<string name="tethering_monitor">Monitor…</string>
<string name="tethering_state_monitored">%s (monitorado)</string>
<string name="tethering_manage">Gerenciar tethering do sistema…</string>
<string name="tethering_manage_offload_enabled">Por favor, desative a Aceleração de hardware de tethering nas configurações de desenvolvedor caso o VPN Hotspot não funcionar corretamente.</string>
<string name="tethering_manage_usb">Tethering USB</string>
<string name="tethering_manage_wifi">Ponto de acesso Wi\u2011Fi</string>
<string name="tethering_manage_bluetooth">Tethering Bluetooth</string>
<string name="tethering_manage_ethernet">Tethering Ethernet</string>
<string name="tethering_manage_ncm">Tethering USB (NCM)</string>
<string name="tethering_manage_wifi_info">%1$d MHz, canal %2$d, largura %3$s</string>
<string name="tethering_manage_wifi_info_timeout_enabled">%4$s: Wi\u2011Fi %5$d, %1$d MHz, canal %2$d,
largura %3$s, tempo ocioso em %6$s</string>
<string name="tethering_manage_wifi_info_timeout_disabled">%4$s: Wi\u2011Fi %5$d, %1$d MHz, largura %2$d,
largura %3$s, tempo ocioso desabilitado</string>
<plurals name="tethering_manage_wifi_capabilities">
<item quantity="one">%1$s/%2$d cliente conectado\nFunções suportadas: %3$s</item>
<item quantity="other">%1$s/%2$d clientes conectados\nFunções suportadas: %3$s</item>
</plurals>
<plurals name="tethering_manage_wifi_clients">
<item quantity="one">%d cliente conectado</item>
<item quantity="other">%1d clientes conectados</item>
</plurals>
<string name="tethering_manage_wifi_supported_channels">\nCanais suportados: %s</string>
<string name="tethering_manage_wifi_country_code">\nCódigo do país do Driver: %s</string>
<string name="tethering_manage_wifi_feature_ap_mac_randomization">MAC AP aleatório</string>
<string name="tethering_manage_wifi_feature_bridged_ap_concurrency">Simultaneidade de AP em ponte</string>
<string name="tethering_manage_wifi_feature_sta_ap_concurrency">STA + AP simultâneos</string>
<string name="tethering_manage_wifi_feature_sta_bridged_ap_concurrency">STA + Bridged AP simultâneos</string>
<string name="tethering_manage_wifi_no_features">Nenhum</string>
<string name="tethering_manage_wifi_client_blocked">Bloqueado %1$s: %2$s</string>
<string name="tethering_manage_wifi_copy_mac">Copiar MAC</string>
<string name="connected_state_incomplete">" (conectando)"</string>
<string name="connected_state_valid">" (alcançável)"</string>
<string name="connected_state_failed">" (perdido)"</string>
<string name="clients_popup_nickname">Apelido…</string>
<string name="clients_popup_block">Bloquear</string>
<string name="clients_popup_block_service_inactive">Ative o serviço para esta interface para bloquear o cliente.</string>
<string name="clients_popup_unblock">Desbloquear</string>
<string name="clients_popup_stats">Status…</string>
<string name="clients_mac_lookup_unexpected_error">O servidor retornou um erro para %1$s: %2$s</string>
<string name="clients_nickname_title">Apelido para %s</string>
<string name="clients_nickname_set_to_vendor">← 🏳️‍🌈 Fornecedor</string>
<string name="clients_stats_title">Status para %s</string>
<plurals name="clients_stats_message_1">
<item quantity="one">Conectado 1 vez desde %2$s</item>
<item quantity="other">Conectado %1$s vezes desde %2$s</item>
</plurals>
<plurals name="clients_stats_message_2">
<item quantity="one">Enviado 1 pacote, %2$s</item>
<item quantity="other">Enviados %1$s pacotes, %2$s</item>
</plurals>
<plurals name="clients_stats_message_3">
<item quantity="one">Recebido 1 pacote, %2$s</item>
<item quantity="other">Recebidos %1$s pacotes, %2$s</item>
</plurals>
<string name="settings_upstream">Upstream</string>
<string name="settings_downstream">Downstream</string>
<string name="settings_service_masquerade">Modo de máscara de IP</string>
<string name="settings_service_masquerade_none">Nenhum</string>
<string name="settings_service_masquerade_simple">Simples</string>
<string name="settings_service_masquerade_netd">Serviço Android Netd</string>
<string name="settings_service_disable_ipv6">Desative Tethering IPv6</string>
<string name="settings_service_disable_ipv6_summary">Ativar esta opção evitará vazamentos de VPN via IPv6.</string>
<string name="settings_service_auto_start">Auto inicialização de serviços</string>
<string name="settings_service_auto_start_summary">Restaurar serviços que estavam em execução antes do aplicativo / dispositivo reiniciar ou atualizar</string>
<string name="settings_service_repeater_safe_mode">Modo de repetidor seguro</string>
<string name="settings_service_repeater_safe_mode_summary">Não faz alterações no seu sistema mas pode causar mal funcionamento com nomes de rede curtos.</string>
<string name="settings_service_repeater_safe_mode_warning">Nomes curtos de rede podem exigir o desligamento do modo seguro.</string>
<string name="settings_service_wifi_lock">Deixe o Wi\u2011Fi ativo</string>
<string name="settings_service_wifi_lock_none">Padrão do sistema</string>
<string name="settings_service_wifi_lock_full">Ativo</string>
<string name="settings_service_wifi_lock_high_perf">Modo de alta performance</string>
<string name="settings_service_wifi_lock_high_perf_v29">Desativar o modo de economia de energia</string>
<string name="settings_service_wifi_lock_low_latency">Modo de baixa latência</string>
<string name="settings_service_ip_monitor">Modo de monitoramento de rede</string>
<string name="settings_service_ip_monitor_monitor">Monitor netlink</string>
<string name="settings_service_ip_monitor_monitor_root">Monitor netlink com root</string>
<string name="settings_service_ip_monitor_poll">Poll</string>
<string name="settings_service_ip_monitor_poll_root">Poll com root</string>
<string name="settings_service_upstream_monitor">Upstreams atuais</string>
<string name="settings_service_upstream_monitor_summary">%1$s; fallback: %2$s</string>
<string name="settings_service_upstream">Interface de upstream de rede</string>
<string name="settings_service_upstream_auto">Detectar automaticamente VPN de sistema</string>
<string name="settings_upstream_fallback">Interface upstream de fallback</string>
<string name="settings_upstream_fallback_auto">Detectar automaticamente a rede padrão do sistema</string>
<string name="settings_service_dhcp_workaround">Ativar DHCP workaround</string>
<string name="settings_service_dhcp_workaround_summary">Use isso se o cliente não consegue obter endereço IP.</string>
<string name="settings_service_clean">Limpar/re-aplicar regras de roteamento</string>
<string name="settings_service_clean_summary">Atualize as configurações alteradas para os serviços ativos atualmente. Isso pode corrigir condições raras.</string>
<string name="settings_system_tether_offload">Aceleração de Tethering do hardware</string>
<string name="settings_system_tether_offload_summary">Atalho para a opção de desenvolvedor</string>
<string name="settings_misc">Diversos</string>
<string name="settings_help">Ajuda</string>
<string name="settings_misc_logcat">Exportar configurações de depuração</string>
<string name="settings_misc_logcat_summary">Muito útil… Uau</string>
<string name="settings_misc_source">Página do GitHub do projeto</string>
<string name="settings_misc_source_summary">Leia o manual, marque com estrela, envie problemas e contribua (Tipo o Konny :D)</string>
<string name="settings_misc_donate">Doe</string>
<string name="settings_misc_donate_summary">Eu amo dinheiro!</string>
<string name="settings_misc_donate_more">PayPal, Flattr, e mais…</string>
<string name="settings_restart_required">Reinicie o aplicativo para aplicar essa função.</string>
<string name="settings_exit_app">Sair</string>
<string name="notification_tethering_title">VPN tethering</string>
<string name="notification_channel_tethering">Serviço de Tethering de VPN</string>
<string name="notification_channel_monitor">Monitorar interfaces inativas</string>
<plurals name="notification_connected_devices">
<item quantity="one">%d dispotivivo conectado ao %s</item>
<item quantity="other">%d dispositivos conectados ao %s</item>
</plurals>
<plurals name="notification_interfaces">
<item quantity="one">%d interface</item>
<item quantity="other">%d interfaces</item>
</plurals>
<string name="notification_interfaces_inactive">Inativo: %s</string>
<plurals name="quick_settings_hotspot_secondary_label_num_devices">
<item quantity="one">%d dispositivo</item>
<item quantity="other">%d dispositivos</item>
</plurals>
<string name="failure_reason_unknown">desconhecido #%d</string>
<string name="exception_interface_not_found">Fatal: Interface de downstream não encontrada</string>
<string name="noisy_su_failure">Algo se saiu errado. Por favor, verifique o log de depuração</string>
<string name="permission_missing">Permissão faltando.</string>
<string name="configuration_view">Configuração Wi\u2011Fi</string>
<string name="configuration_share">Compartilhar via Código QR</string>
<string name="configuration_rejected">O sistema Android recusa essa configuração. (olhe o logcat)</string>
<string name="wifi_ssid">Nome da rede</string>
<string name="wifi_security">Segurança</string>
<string name="wifi_password">Senha</string>
<string name="wifi_hotspot_auto_off">Desative o roteamento se não houver nenhum dispositivo conectado</string>
<string name="wifi_hotspot_timeout">Tempo inativo</string>
<string name="wifi_hotspot_timeout_default">Tempo inativo padrão: %dms</string>
<string name="wifi_hotspot_ap_band_title">Banda do AP</string>
<string name="wifi_ap_choose_disabled">Desativado</string>
<string name="wifi_ap_choose_G">%s GHz</string>
<string name="wifi_hotspot_acs_channel_2g">Canais permitidos 2.4 GHz ACS</string>
<string name="wifi_hotspot_acs_channel_5g">Canais permitidos 5 GHz ACS</string>
<string name="wifi_hotspot_acs_channel_6g">Canais permitidos 6 GHz ACS</string>
<string name="wifi_hotspot_max_channel_bandwidth">Maximum channel bandwidth</string>
<string name="wifi_hotspot_access_control_title">Controle de acesso</string>
<string name="wifi_hotspot_ap_advanced_title">Opções de AP avançadas</string>
<string name="wifi_advanced_mac_address_title">Endereço MAC</string>
<string name="wifi_advanced_mac_address_persistent_randomized">Endereço MAC aleatório persistente</string>
<string name="wifi_hidden_network">Rede oculta</string>
<string name="wifi_max_clients">Número máximo de clientes</string>
<string name="wifi_client_user_control">Controle de qual cliente pode usar o hotspot</string>
<string name="wifi_blocked_list">Lista de clientes bloqueados</string>
<string name="wifi_allowed_list">Lista de clientes permitidos</string>
<string name="wifi_mac_randomization">Usar um MAC aleatório</string>
<string name="wifi_mac_randomization_none">Nenhum</string>
<string name="wifi_mac_randomization_persistent">Persistente</string>
<string name="wifi_mac_randomization_non_persistent">Não persistente</string>
<string name="wifi_bridged_mode_opportunistic_shutdown">Habilite o desligamento oportunista de uma instância no AP em ponte</string>
<string name="wifi_hotspot_timeout_bridged">Tempo limite inativo para uma instância em ponte</string>
<string name="wifi_ieee_80211ax">Ative Wi\u2011Fi 6</string>
<string name="wifi_ieee_80211be">Ative Wi\u2011Fi 7</string>
<string name="wifi_user_config">Configuração fornecida pelo usuário</string>
<string name="wifi_vendor_elements">Elementos do fornecedor</string>
<string name="wifi_save">Salvar</string>
<!-- Based on: https://github.com/PrivacyApps/donations/blob/747d36a18433c7e9329691054122a8ad337a62d2/Donations/src/main/res/values/donations__strings.xml -->
<string name="donations__button_close">Fechar</string>
<string name="donations__description">Você acha esse aplicativo útil?\nDê um apoio para o desenvolvedor, envie um mimo!</string>
<string name="donations__google_android_market">Google Play Store</string>
<string name="donations__google_android_market_not_supported">Acho que algo está errado com os pagamentos pelo aplicativo. Certifique-se que sua Google Play Store está instalada corretamente.</string>
<string name="donations__google_android_market_description">O Google cobra uma taxa de 30%</string>
<string name="donations__google_android_market_donate_button">Doe!</string>
<string name="donations__google_android_market_text">Quanto?</string>
<string name="donations__thanks_dialog">Obrigado mesmo por doar!\nEu lhe agradeço muito!</string>
</resources>

View File

@@ -59,9 +59,7 @@
<string name="wifi_password" msgid="5948219759936151048">"Пароль"</string>
<string name="wifi_hotspot_auto_off" msgid="5858098059725925084">"Выключать точку доступа WiFi автоматически, если к ней не подключено ни одного устройства"</string>
<string name="wifi_hotspot_ap_band_title" msgid="1165801173359290681">"Диапазон частот Wi-Fi"</string>
<string name="wifi_ap_choose_auto" msgid="2677800651271769965">"Авто"</string>
<string name="wifi_ap_choose_2G" msgid="8724267386885036210">"2,4 ГГц"</string>
<string name="wifi_ap_choose_5G" msgid="8813128641914385634">"5,0 ГГц"</string>
<string name="wifi_ap_choose_G" msgid="8724267386885036210">"%s ГГц"</string>
<string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"MAC-адрес"</string>
<string name="wifi_hidden_network" msgid="973162091800925000">"Скрытая сеть"</string>
<string name="wifi_save" msgid="3331121567988522826">"Сохранить"</string>

View File

@@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="api_lt_25">false</bool>
</resources>

View File

@@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="api_ge_26">true</bool>
</resources>

View File

@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools">
<string-array name="settings_service_masquerade" tools:ignore="InconsistentArrays">
<item>@string/settings_service_masquerade_none</item>
<item>@string/settings_service_masquerade_simple</item>
<item>@string/settings_service_masquerade_netd</item>
</string-array>
<string-array name="settings_service_masquerade_values" tools:ignore="InconsistentArrays">
<item>None</item>
<item>Simple</item>
<item>Netd</item>
</string-array>
</resources>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="navigationBarColor">@android:color/transparent</color>
</resources>

View File

@@ -5,6 +5,7 @@
<string name="title_tethering">共享管理</string>
<string name="title_clients">已连设备</string>
<string name="title_settings">设置选项</string>
<string name="title_update">更新应用</string>
<string name="repeater_channel">无线中继 (%1$d MHz, 频道 %2$d)</string>
<string name="repeater_wps">WPS不安全</string>
@@ -22,6 +23,7 @@
<string name="repeater_remove_group_failure">关闭已有 P2P 群组失败(原因:%s</string>
<string name="repeater_remove_old_group_failure">关闭 P2P 群组失败(原因:%s</string>
<string name="repeater_set_oc_failure">设置运行频段失败(原因:%s</string>
<string name="repeater_set_vendor_elements_failure">设置供应商特定元素失败(原因:%s</string>
<string name="repeater_failure_reason_error">内部异常</string>
<string name="repeater_failure_reason_p2p_unsupported">设备不支持 Wi\u2011Fi 直连</string>
@@ -29,9 +31,11 @@
<string name="repeater_failure_reason_unsupported_operation">不支持此操作</string>
<string name="repeater_failure_disconnected">服务不可用,请稍后重试</string>
<string name="repeater_missing_location_permissions">无线中继需要精确位置权限</string>
<string name="repeater_location_off">由于系统限制,关闭位置信息服务可能产生问题并导致续航缩短</string>
<string name="repeater_location_off_configure">进入设置</string>
<string name="tethering_temp_hotspot">临时 WLAN 热点</string>
<string name="tethering_temp_hotspot_location">使用临时热点需要打开位置服务。</string>
<string name="tethering_location_off">使用此功能需要打开位置服务。</string>
<string name="tethering_temp_hotspot_failure">打开热点失败 (原因:%s)</string>
<string name="tethering_temp_hotspot_failure_no_channel">无频段</string>
<string name="tethering_temp_hotspot_failure_generic">通用错误</string>
@@ -53,11 +57,9 @@
-->
<string name="tethering_manage_usb">USB 网络共享</string>
<string name="tethering_manage_wifi">WLAN 热点</string>
<string name="tethering_manage_wifi_legacy">WLAN 热点 (旧 API)</string>
<string name="tethering_manage_bluetooth">蓝牙网络共享</string>
<string name="tethering_manage_ethernet" msgid="959743110824197356">"以太网络共享"</string>
<string name="tethering_manage_ncm">USB 网络共享 (NCM)</string>
<string name="tethering_manage_wigig">WiGig 热点</string>
<string name="tethering_manage_wifi_info">%1$d MHz, 频道 %2$d, 频宽 %3$s</string>
<string name="tethering_manage_wifi_info_timeout_enabled">%4$s: Wi\u2011Fi %5$d, %1$d MHz, 频道 %2$d, 频宽 %3$s,
关闭延迟 %6$s</string>
@@ -70,6 +72,7 @@
<item quantity="other">已连接 %d 个设备</item>
</plurals>
<string name="tethering_manage_wifi_supported_channels">\n支持频道: %s</string>
<string name="tethering_manage_wifi_country_code">\n驱动国家代码%s</string>
<string name="tethering_manage_wifi_feature_ap_mac_randomization">随机接入点 MAC</string>
<string name="tethering_manage_wifi_feature_bridged_ap_concurrency">桥接 AP 并发</string>
<string name="tethering_manage_wifi_feature_sta_ap_concurrency">STA/AP 并发</string>
@@ -109,7 +112,8 @@
<string name="settings_service_masquerade_netd">Android Netd 服务</string>
<string name="settings_service_disable_ipv6">禁用 IPv6 共享</string>
<string name="settings_service_disable_ipv6_summary">防止 VPN 通过 IPv6 泄漏。</string>
<string name="settings_service_repeater_start_on_boot">开机自启动中继</string>
<string name="settings_service_auto_start">自动启动服务</string>
<string name="settings_service_auto_start_summary">设备重启或应用升级后自动恢复之前运行的服务</string>
<string name="settings_service_repeater_safe_mode">中继安全模式</string>
<string name="settings_service_repeater_safe_mode_summary">不对系统配置进行修改,但是可能须要较长的网络名称。</string>
<string name="settings_service_repeater_safe_mode_warning">使用短名称可能需要关闭安全模式。</string>
@@ -152,6 +156,7 @@
<string name="notification_tethering_title">VPN 共享已启用</string>
<string name="notification_channel_tethering">VPN 共享服务</string>
<string name="notification_channel_monitor">监视不活跃接口</string>
<plurals name="notification_connected_devices">
<item quantity="other">%d 个设备已连接到 %s</item>
</plurals>
@@ -172,6 +177,7 @@
<string name="configuration_share">使用 QR 码分享</string>
<string name="configuration_rejected">Android 系统拒绝使用此配置。(详情参见日志)</string>
<string name="wifi_ssid" msgid="5519636102673067319">"网络名称"</string>
<string name="wifi_ssid_toggle_hex">切换十六进制显示</string>
<string name="wifi_security" msgid="6603611185592956936">"安全性"</string>
<string name="wifi_password" msgid="5948219759936151048">"密码"</string>
<string name="wifi_hotspot_auto_off">未连接任何设备时自动关闭 WLAN 热点</string>
@@ -179,22 +185,29 @@
<string name="wifi_hotspot_timeout_default">默认延迟:%d 毫秒</string>
<string name="wifi_hotspot_ap_band_title" msgid="1165801173359290681">"AP 频段"</string>
<string name="wifi_ap_choose_disabled">Disabled</string>
<string name="wifi_ap_choose_auto" msgid="2677800651271769965">"自动"</string>
<string name="wifi_ap_choose_2G" msgid="8724267386885036210">"2.4 GHz 频段"</string>
<string name="wifi_ap_choose_5G" msgid="8813128641914385634">"5 GHz 频段"</string>
<string name="wifi_ap_choose_6G">6 GHz 频段</string>
<string name="wifi_ap_choose_60G">60 GHz 频段</string>
<string name="wifi_ap_choose_G" msgid="8724267386885036210">"%s GHz 频段"</string>
<string name="wifi_hotspot_acs_channel_2g">2.4 GHz ACS 可选频段</string>
<string name="wifi_hotspot_acs_channel_5g">5 GHz ACS 可选频段</string>
<string name="wifi_hotspot_acs_channel_6g">6 GHz ACS 可选频段</string>
<string name="wifi_hotspot_max_channel_bandwidth">最大频宽</string>
<string name="wifi_hotspot_access_control_title">访问控制</string>
<string name="wifi_hotspot_ap_advanced_title">高级接入点设置</string>
<string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"MAC 地址"</string>
<string name="wifi_advanced_mac_address_persistent_randomized">持久性随机 MAC 地址</string>
<string name="wifi_hidden_network" msgid="973162091800925000">"隐藏的网络"</string>
<string name="wifi_max_clients">允许连接设备数上限</string>
<string name="wifi_client_user_control">过滤可以连接的设备</string>
<string name="wifi_blocked_list">设备黑名单</string>
<string name="wifi_allowed_list">设备白名单</string>
<string name="wifi_mac_randomization">随机生成 MAC 地址</string>
<string name="wifi_bridged_mode">启用无线接入点桥接模式</string>
<string name="wifi_mac_randomization_none"></string>
<string name="wifi_mac_randomization_persistent">持久化</string>
<string name="wifi_mac_randomization_non_persistent">不持久化</string>
<string name="wifi_bridged_mode_opportunistic_shutdown">启用桥接模式伺机关闭</string>
<string name="wifi_ieee_80211ax">启用 Wi\u2011Fi 6</string>
<string name="wifi_ieee_80211be">启用 Wi\u2011Fi 7</string>
<string name="wifi_user_config">用户提供配置</string>
<string name="wifi_vendor_elements">供应商特定元素</string>
<string name="wifi_save" msgid="3331121567988522826">"保存"</string>
<!-- Based on: https://github.com/PrivacyApps/donations/blob/747d36a18433c7e9329691054122a8ad337a62d2/Donations/src/main/res/values-zh/donations__strings.xml -->

View File

@@ -13,45 +13,49 @@
<string name="app_name">VPN 無線基地台</string>
<string name="title_repeater">中繼器</string>
<string name="title_tethering">網路共用</string>
<string name="title_clients">戶端</string>
<string name="title_clients">戶端</string>
<string name="title_settings">設定</string>
<string name="title_update">更新</string>
<string name="repeater_channel">中繼器 (%1$d MHz, 頻道 %2$d)</string>
<string name="repeater_channel">中繼器 (%1$d MHz頻道 %2$d)</string>
<string name="repeater_wps">WPS不安全</string>
<string name="repeater_wps_dialog_title">輸入 PIN 碼</string>
<string name="repeater_wps_dialog_pbc">一鍵加密</string>
<string name="repeater_wps_success_pbc">請在兩分鐘內在需要連的裝置上,使用一鍵加密以連到此中繼器</string>
<string name="repeater_wps_dialog_pbc">WPS 按鈕</string>
<string name="repeater_wps_success_pbc">請在兩分鐘內在需要連的裝置上,按下 WPS 按鈕以連到此中繼器</string>
<string name="repeater_wps_success_keypad">PIN 已設定</string>
<string name="repeater_wps_failure">開啟 WPS 失敗 (原因: %s)</string>
<string name="repeater_configure_failure">到有效的配置,請先啟動中繼器</string>
<string name="repeater_clean_pog_failure">刪除餘 P2P 群組失敗 (原因: %s)</string>
<string name="repeater_wps_failure">開啟 WPS 失敗 (原因%s)</string>
<string name="repeater_configure_failure">找到有效的組態,請先啟動中繼器</string>
<string name="repeater_clean_pog_failure">刪除餘 P2P 群組失敗 (原因%s)</string>
<string name="repeater_p2p_unavailable">Wi\u2011Fi Direct 不可用,請啟用 Wi\u2011Fi</string>
<string name="repeater_p2p_unavailable_enable">開啟</string>
<string name="repeater_create_group_failure">建 P2P 群組失敗 (原因: %s)</string>
<string name="repeater_remove_group_failure">移除 P2P 群組失敗 (原因: %s)</string>
<string name="repeater_remove_old_group_failure">移除 舊P2P 群組失敗 (原因: %s)</string>
<string name="repeater_set_oc_failure">設定工作頻道失敗 (原因: %s)</string>
<string name="repeater_create_group_failure"> P2P 群組失敗 (原因%s)</string>
<string name="repeater_remove_group_failure">移除 P2P 群組失敗 (原因%s)</string>
<string name="repeater_remove_old_group_failure">移除舊 P2P 群組失敗 (原因%s)</string>
<string name="repeater_set_oc_failure">設定工作頻道失敗 (原因%s)</string>
<string name="repeater_failure_reason_error">內部錯誤</string>
<string name="repeater_failure_reason_p2p_unsupported">Wi\u2011Fi Direct 不支援</string>
<string name="repeater_failure_reason_no_service_requests">未添加服務請求</string>
<string name="repeater_failure_reason_unsupported_operation">不支援的</string>
<string name="repeater_failure_reason_unsupported_operation">不支援的作</string>
<string name="repeater_failure_disconnected">服務不可用,請稍後再試</string>
<string name="repeater_missing_location_permissions">中繼器需要精確位置存取權</string>
<string name="repeater_location_off">由於系統限制,關閉定位服務可能會導致問題並增加電池使用量</string>
<string name="repeater_location_off_configure">設定</string>
<string name="tethering_temp_hotspot">臨時 Wi\u2011Fi 無線基地台</string>
<string name="tethering_temp_hotspot_location">開啟臨時無線基地台須打開定位</string>
<string name="tethering_temp_hotspot_failure">啟動無線基地台失敗 (原因: %s)</string>
<string name="tethering_location_off">需要開啟定位</string>
<string name="tethering_temp_hotspot_failure">啟動無線基地台失敗 (原因%s)</string>
<string name="tethering_temp_hotspot_failure_no_channel">沒有頻道</string>
<string name="tethering_temp_hotspot_failure_generic">一般錯誤</string>
<string name="tethering_temp_hotspot_failure_incompatible_mode">不相容的模式</string>
<string name="tethering_temp_hotspot_failure_tethering_disallowed">禁止網路共用</string>
<string name="tethering_temp_hotspot_failure_tethering_disallowed">網路共用已禁止</string>
<string name="tethering_monitor">檢測</string>
<string name="tethering_state_monitored">%s (受檢測)</string>
<string name="tethering_monitor">監視</string>
<string name="tethering_state_monitored">%s (受監視)</string>
<string name="tethering_manage">系統網路共用管理…</string>
<string name="tethering_manage_offload_enabled">如果 VPN 網路共用不起作用請在開發人員選項中關閉數據連線硬體加速</string>
<string name="tethering_manage_offload_enabled">如果 VPN 網路共用不起作用請在開發人員選項中關閉「網路共用硬體加速</string>
<!--
Values copied from:
* https://android.googlesource.com/platform/packages/apps/Settings/+/7686ef8/res/xml/tether_prefs.xml
@@ -62,56 +66,64 @@
-->
<string name="tethering_manage_usb">USB 網路共用</string>
<string name="tethering_manage_wifi">Wi\u2011Fi 無線基地台</string>
<string name="tethering_manage_wifi_legacy">Wi\u2011Fi 無線基地台 (舊式)</string>
<string name="tethering_manage_bluetooth">藍牙網路共用</string>
<string name="tethering_manage_ethernet" msgid="959743110824197356">"乙太網路網路共用"</string>
<string name="tethering_manage_ncm">USB 網路共用 (NCM)</string>
<string name="tethering_manage_wigig">WiGig 無線基地台</string>
<string name="tethering_manage_wifi_info">%1$d MHz, 頻道 %2$d, 頻寬 %3$s</string>
<string name="tethering_manage_wifi_info">%1$d MHz頻道 %2$d頻寬 %3$s</string>
<string name="tethering_manage_wifi_info_timeout_enabled">%4$sWi\u2011Fi %5$d%1$d MHz頻道 %2$d頻寬 %3$s
閒置逾時 %6$s</string>
<string name="tethering_manage_wifi_info_timeout_disabled">%4$sWi\u2011Fi %5$d%1$d MHz頻道 %2$d頻寬 %3$s
閒置逾時已停用</string>
<plurals name="tethering_manage_wifi_capabilities">
<item quantity="other">已連 %1$s/%2$d 個設備\n支功能:%3$s</item>
<item quantity="other">已連 %1$s/%2$d 個裝置\n支功能:%3$s</item>
</plurals>
<plurals name="tethering_manage_wifi_clients">
<item quantity="other">已連 %d 個設備</item>
<item quantity="other">已連 %d 個裝置</item>
</plurals>
<string name="tethering_manage_wifi_supported_channels">\n支援頻道%s</string>
<string name="tethering_manage_wifi_feature_ap_mac_randomization">隨機 AP MAC</string>
<string name="tethering_manage_wifi_feature_bridged_ap_concurrency">橋接 AP 並行</string>
<string name="tethering_manage_wifi_feature_sta_ap_concurrency">STA/AP 並行</string>
<string name="tethering_manage_wifi_feature_sta_bridged_ap_concurrency">STA/橋接 AP 並行</string>
<string name="tethering_manage_wifi_no_features"></string>
<string name="tethering_manage_wifi_client_blocked">已隱藏 %1$s%2$s</string>
<string name="tethering_manage_wifi_copy_mac">複製 MAC</string>
<string name="connected_state_incomplete">連接中</string>
<string name="connected_state_valid">(已連</string>
<string name="connected_state_failed">未連接</string>
<string name="connected_state_incomplete">正在連線</string>
<string name="connected_state_valid">(已連</string>
<string name="connected_state_failed">已中斷</string>
<string name="clients_popup_nickname">暱稱…</string>
<string name="clients_popup_block">黑名單</string>
<string name="clients_popup_block_service_inactive">開此服務阻止裝置連線</string>
<string name="clients_popup_block_service_inactive">此服務阻止裝置連線</string>
<string name="clients_popup_unblock">解除黑名單</string>
<string name="clients_popup_stats">狀態…</string>
<string name="clients_mac_lookup_unexpected_error">伺服器錯誤 %1$s: %2$s</string>
<string name="clients_mac_lookup_unexpected_error">伺服器錯誤 %1$s%2$s</string>
<string name="clients_nickname_title">暱稱 %s</string>
<string name="clients_nickname_set_to_vendor">← 🏳️‍🌈 供應商</string>
<string name="clients_stats_title">狀態 %s</string>
<plurals name="clients_stats_message_1">
<item quantity="other">自 %2$s 以來連了 %1$s 次</item>
<item quantity="other">自 %2$s 以來連了 %1$s 次</item>
</plurals>
<plurals name="clients_stats_message_2">
<item quantity="other">上傳 %1$s 個封包,%2$s</item>
</plurals>
<plurals name="clients_stats_message_3">
<item quantity="other">下載 %1$s 個封包, %2$s</item>
<item quantity="other">下載 %1$s 個封包%2$s</item>
</plurals>
<string name="settings_upstream">上游</string>
<string name="settings_downstream">下游</string>
<string name="settings_service_masquerade">IP 遮蔽模式</string>
<string name="settings_service_masquerade">IP 偽裝模式</string>
<string name="settings_service_masquerade_none"></string>
<string name="settings_service_masquerade_simple">簡易</string>
<string name="settings_service_masquerade_netd">Android Netd 服務</string>
<string name="settings_service_disable_ipv6">停用 IPv6 共用</string>
<string name="settings_service_disable_ipv6_summary">防止 VPN 過 IPv6 洩漏</string>
<string name="settings_service_repeater_start_on_boot">開機時自動啟動中繼器</string>
<string name="settings_service_disable_ipv6_summary">防止 VPN 過 IPv6 洩漏</string>
<string name="settings_service_auto_start">自動啟動服務</string>
<string name="settings_service_auto_start_summary">裝置重新啟動或應用升級後自動恢復之前執行的服務</string>
<string name="settings_service_repeater_safe_mode">中繼安全模式</string>
<string name="settings_service_repeater_safe_mode_summary">不對系統設定值進行任何修改,但是可能需要較長的 SSID</string>
<string name="settings_service_repeater_safe_mode_summary">不對系統組態做任何變更,但是可能需要較長的 SSID</string>
<string name="settings_service_repeater_safe_mode_warning">使用短 SSID 可能需要關閉安全模式。</string>
<string name="settings_service_wifi_lock">保持 Wi\u2011Fi 開啟</string>
<string name="settings_service_wifi_lock_none">系統預設</string>
@@ -119,42 +131,43 @@
<string name="settings_service_wifi_lock_high_perf">高效能模式</string>
<string name="settings_service_wifi_lock_high_perf_v29">關閉省電模式</string>
<string name="settings_service_wifi_lock_low_latency">低延遲模式</string>
<string name="settings_service_ip_monitor">網路監聽模式</string>
<string name="settings_service_ip_monitor_monitor">Netlink 監</string>
<string name="settings_service_ip_monitor_monitor_root">Netlink 監 (root)</string>
<string name="settings_service_ip_monitor">網路狀態監視模式</string>
<string name="settings_service_ip_monitor_monitor">Netlink 監</string>
<string name="settings_service_ip_monitor_monitor_root">Netlink 監 (root)</string>
<string name="settings_service_ip_monitor_poll">輪詢</string>
<string name="settings_service_ip_monitor_poll_root">輪詢 (root)</string>
<string name="settings_service_upstream_monitor">目前上游接口</string>
<string name="settings_service_upstream_monitor_summary">%1$s; 備用: %2$s</string>
<string name="settings_service_upstream">上游網路接口</string>
<string name="settings_service_upstream_monitor">目前上游介面</string>
<string name="settings_service_upstream_monitor_summary">%1$s;後援:%2$s</string>
<string name="settings_service_upstream">上游網路介面</string>
<string name="settings_service_upstream_auto">自動檢測系統 VPN 服務</string>
<string name="settings_upstream_fallback">備用上游接口</string>
<string name="settings_upstream_fallback">後援上游介面</string>
<string name="settings_upstream_fallback_auto">自動檢測系統預設網路</string>
<string name="settings_service_clean">清理/重新套用路由規則</string>
<string name="settings_service_clean_summary">將修改的設定套用到目前啟用的服務上也可用於修復偶爾會發生的競態條件</string>
<string name="settings_service_dhcp_workaround">嘗試修復 DHCP</string>
<string name="settings_service_dhcp_workaround_summary">如果裝置無法取得 IP 址,嘗試開這選項</string>
<string name="settings_system_tether_offload">數據連線硬體加速</string>
<string name="settings_system_tether_offload_summary">系統"開發人員選項"的快捷方式</string>
<string name="settings_service_clean_summary">將修改的設定套用到目前啟用的服務上也可用於修復偶爾會發生的競態條件</string>
<string name="settings_service_dhcp_workaround">啟用 DHCP 因應措施</string>
<string name="settings_service_dhcp_workaround_summary">如果裝置無法取得 IP 址,嘗試開這選項</string>
<string name="settings_system_tether_offload">網路共用硬體加速</string>
<string name="settings_system_tether_offload_summary">系統開發人員選項」的捷徑</string>
<string name="settings_misc">雜項</string>
<string name="settings_help">幫助</string>
<string name="settings_misc_logcat">匯出 debug 所需資訊</string>
<string name="settings_misc_logcat_summary">這種非常有用啊(^O^)</string>
<string name="settings_misc_source">產品主頁 @ GitHub</string>
<string name="settings_misc_source_summary">閱讀使用說明, star, 提交 issues, 合作</string>
<string name="settings_help">說明</string>
<string name="settings_misc_logcat">匯出偵錯資訊</string>
<string name="settings_misc_logcat_summary">這種非常有用啊 (^O^)</string>
<string name="settings_misc_source">專案首頁 @ GitHub</string>
<string name="settings_misc_source_summary">閱讀使用說明,對 GitHub repo 加星號,提交問題並合作參與開發</string>
<string name="settings_misc_donate">抖內</string>
<string name="settings_misc_donate_summary">我喜歡錢</string>
<string name="settings_misc_donate_more">PayPal, Flattr, 等其他方式…</string>
<string name="settings_misc_donate_more">PayPalFlattr 等其他方式…</string>
<string name="settings_restart_required">重啟應用程式以套用設定值</string>
<string name="settings_exit_app">離開</string>
<string name="notification_tethering_title">VPN 無線基地台已啟用</string>
<string name="notification_channel_tethering">VPN 無線基地台服務</string>
<string name="notification_channel_monitor">監視非作用中介面</string>
<plurals name="notification_connected_devices">
<item quantity="other">%d 個裝置已連到 %s</item>
<item quantity="other">%d 個裝置已連到 %s</item>
</plurals>
<plurals name="notification_interfaces">
<item quantity="other">%d 個接口</item>
<item quantity="other">%d 個介面</item>
</plurals>
<string name="notification_interfaces_inactive">停用:%s</string>
<plurals name="quick_settings_hotspot_secondary_label_num_devices">
@@ -162,44 +175,44 @@
</plurals>
<string name="failure_reason_unknown">未知 #%d</string>
<string name="exception_interface_not_found">錯誤: 找不到下游接口</string>
<string name="noisy_su_failure">發生異常,詳情請查看 log</string>
<string name="exception_interface_not_found">錯誤找不到下游介面</string>
<string name="noisy_su_failure">發生錯誤,請檢查偵錯資訊</string>
<string name="permission_missing">權限不足</string>
<string name="configuration_view">設定 WIFI</string>
<string name="configuration_share">使用 QR Code 分享</string>
<string name="configuration_rejected">Android 系统拒绝使用此設定。(詳情請參考 log)</string>
<string name="configuration_view">Wi\u2011Fi 組態</string>
<string name="configuration_share">使用 QR Code 分享</string>
<string name="configuration_rejected">Android 系統拒絕使用此組態。(請檢視 Logcat)</string>
<string name="wifi_ssid" msgid="5519636102673067319">網路名稱</string>
<string name="wifi_security" msgid="6603611185592956936">安全性</string>
<string name="wifi_password" msgid="5948219759936151048">密碼</string>
<string name="wifi_hotspot_auto_off">在沒有任何裝置連線時關閉 WIFI 無線基地台</string>
<string name="wifi_hotspot_timeout">關閉延遲時間</string>
<string name="wifi_hotspot_timeout_default">默認延遲%d 毫秒</string>
<string name="wifi_hotspot_timeout">非使用中關閉逾時</string>
<string name="wifi_hotspot_timeout_default">預設逾時%d 毫秒</string>
<string name="wifi_hotspot_ap_band_title" msgid="1165801173359290681">AP 頻帶</string>
<string name="wifi_ap_choose_disabled">Disabled</string>
<string name="wifi_ap_choose_auto" msgid="2677800651271769965">自動</string>
<string name="wifi_ap_choose_2G" msgid="8724267386885036210">2.4 GHz 頻帶</string>
<string name="wifi_ap_choose_5G" msgid="8813128641914385634">5 GHz 頻帶</string>
<string name="wifi_ap_choose_6G">6 GHz 頻帶</string>
<string name="wifi_ap_choose_60G">60 GHz 頻帶</string>
<string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"MAC 地址"</string>
<string name="wifi_ap_choose_disabled">停用</string>
<string name="wifi_ap_choose_G" msgid="8724267386885036210">%s GHz 頻帶</string>
<string name="wifi_hotspot_access_control_title">存取控制</string>
<string name="wifi_hotspot_ap_advanced_title">進階 AP 選項</string>
<string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"MAC 位址"</string>
<string name="wifi_hidden_network" msgid="973162091800925000">"隱藏的網路"</string>
<string name="wifi_max_clients">允許的連接裝置數量</string>
<string name="wifi_client_user_control">過濾可以連的裝置</string>
<string name="wifi_max_clients">最大連線裝置數量</string>
<string name="wifi_client_user_control">過濾可以連的裝置</string>
<string name="wifi_blocked_list">裝置黑名單</string>
<string name="wifi_allowed_list">裝置白名單</string>
<string name="wifi_mac_randomization">隨機化 MAC 位址</string>
<string name="wifi_bridged_mode_opportunistic_shutdown">啟用橋接模式隨機關閉</string>
<string name="wifi_ieee_80211ax">啟用 Wi\u2011Fi 6</string>
<string name="wifi_ieee_80211be">啟用 Wi\u2011Fi 7</string>
<string name="wifi_user_config">使用者提供組態</string>
<string name="wifi_save" msgid="3331121567988522826">儲存</string>
<!-- Based on: https://github.com/PrivacyApps/donations/blob/747d36a18433c7e9329691054122a8ad337a62d2/Donations/src/main/res/values-zh/donations__strings.xml -->
<string name="donations__button_close">關閉</string>
<string name="donations__google_android_market">Google Play 商店</string>
<string name="donations__google_android_market_not_supported">不支援應用程式內購。Google Play 商店是否安裝正確?</string>
<string name="donations__google_android_market_not_supported">不支援應用程式內購Play 商店是否正確安裝?</string>
<string name="donations__google_android_market_donate_button">抖內!</string>
<string name="donations__google_android_market_text">抖內多少錢</string>
<string name="donations__thanks_dialog">感謝抖內!\n十分感謝您!</string>
<string name="donations__description">這個程式有用嗎?\n小額的抖內給開發者用來支持此應用程式的開發</string>
<string name="donations__thanks_dialog">感謝抖內\n十分感謝您</string>
<string name="donations__description">這個應用程式有用嗎?\n小額的抖內給開發人員用來支援此應用程式的開發</string>
<string name="donations__google_android_market_description">Google 將收取 30% 的費用</string>
</resources>

View File

@@ -1,12 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools">
<string-array name="wifi_mac_randomization">
<item>@string/wifi_mac_randomization_none</item>
<item>@string/wifi_mac_randomization_persistent</item>
<item>@string/wifi_mac_randomization_non_persistent</item>
</string-array>
<string-array name="settings_service_masquerade" tools:ignore="InconsistentArrays">
<item>@string/settings_service_masquerade_none</item>
<item>@string/settings_service_masquerade_simple</item>
<item>@string/settings_service_masquerade_netd</item>
</string-array>
<string-array name="settings_service_masquerade_values" tools:ignore="InconsistentArrays">
<item>None</item>
<item>Simple</item>
<item>Netd</item>
</string-array>
<string-array name="settings_service_wifi_lock">

View File

@@ -1,7 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="api_ge_30">false</bool>
<bool name="api_ge_26">false</bool>
<bool name="api_lt_25">true</bool>
<bool name="is_day">true</bool>
</resources>

View File

@@ -6,5 +6,5 @@
<color name="colorPrimary">@color/light_colorPrimary</color>
<color name="colorPrimaryDark">#087f23</color>
<color name="colorSecondary">#AEEA00</color>
<color name="navigationBarColor">@android:color/black</color>
<color name="navigationBarColor">#6000</color>
</resources>

View File

@@ -1,32 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2017 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<resources>
<array name="com_google_android_gms_fonts_certs">
<item>@array/com_google_android_gms_fonts_certs_dev</item>
<item>@array/com_google_android_gms_fonts_certs_prod</item>
</array>
<string-array name="com_google_android_gms_fonts_certs_dev">
<item>
MIIEqDCCA5CgAwIBAgIJANWFuGx90071MA0GCSqGSIb3DQEBBAUAMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTAeFw0wODA0MTUyMzM2NTZaFw0zNTA5MDEyMzM2NTZaMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTCCASAwDQYJKoZIhvcNAQEBBQADggENADCCAQgCggEBANbOLggKv+IxTdGNs8/TGFy0PTP6DHThvbbR24kT9ixcOd9W+EaBPWW+wPPKQmsHxajtWjmQwWfna8mZuSeJS48LIgAZlKkpFeVyxW0qMBujb8X8ETrWy550NaFtI6t9+u7hZeTfHwqNvacKhp1RbE6dBRGWynwMVX8XW8N1+UjFaq6GCJukT4qmpN2afb8sCjUigq0GuMwYXrFVee74bQgLHWGJwPmvmLHC69EH6kWr22ijx4OKXlSIx2xT1AsSHee70w5iDBiK4aph27yH3TxkXy9V89TDdexAcKk/cVHYNnDBapcavl7y0RiQ4biu8ymM8Ga/nmzhRKya6G0cGw8CAQOjgfwwgfkwHQYDVR0OBBYEFI0cxb6VTEM8YYY6FbBMvAPyT+CyMIHJBgNVHSMEgcEwgb6AFI0cxb6VTEM8YYY6FbBMvAPyT+CyoYGapIGXMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbYIJANWFuGx90071MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEEBQADggEBABnTDPEF+3iSP0wNfdIjIz1AlnrPzgAIHVvXxunW7SBrDhEglQZBbKJEk5kT0mtKoOD1JMrSu1xuTKEBahWRbqHsXclaXjoBADb0kkjVEJu/Lh5hgYZnOjvlba8Ld7HCKePCVePoTJBdI4fvugnL8TsgK05aIskyY0hKI9L8KfqfGTl1lzOv2KoWD0KWwtAWPoGChZxmQ+nBli+gwYMzM1vAkP+aayLe0a1EQimlOalO762r0GXO0ks+UeXde2Z4e+8S/pf7pITEI/tP+MxJTALw9QUWEv9lKTk+jkbqxbsh8nfBUapfKqYn0eidpwq2AzVp3juYl7//fKnaPhJD9gs=
</item>
</string-array>
<string-array name="com_google_android_gms_fonts_certs_prod">
<item>
MIIEQzCCAyugAwIBAgIJAMLgh0ZkSjCNMA0GCSqGSIb3DQEBBAUAMHQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtHb29nbGUgSW5jLjEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDAeFw0wODA4MjEyMzEzMzRaFw0zNjAxMDcyMzEzMzRaMHQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtHb29nbGUgSW5jLjEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDCCASAwDQYJKoZIhvcNAQEBBQADggENADCCAQgCggEBAKtWLgDYO6IIrgqWbxJOKdoR8qtW0I9Y4sypEwPpt1TTcvZApxsdyxMJZ2JORland2qSGT2y5b+3JKkedxiLDmpHpDsz2WCbdxgxRczfey5YZnTJ4VZbH0xqWVW/8lGmPav5xVwnIiJS6HXk+BVKZF+JcWjAsb/GEuq/eFdpuzSqeYTcfi6idkyugwfYwXFU1+5fZKUaRKYCwkkFQVfcAs1fXA5V+++FGfvjJ/CxURaSxaBvGdGDhfXE28LWuT9ozCl5xw4Yq5OGazvV24mZVSoOO0yZ31j7kYvtwYK6NeADwbSxDdJEqO4k//0zOHKrUiGYXtqw/A0LFFtqoZKFjnkCAQOjgdkwgdYwHQYDVR0OBBYEFMd9jMIhF1Ylmn/Tgt9r45jk14alMIGmBgNVHSMEgZ4wgZuAFMd9jMIhF1Ylmn/Tgt9r45jk14aloXikdjB0MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLR29vZ2xlIEluYy4xEDAOBgNVBAsTB0FuZHJvaWQxEDAOBgNVBAMTB0FuZHJvaWSCCQDC4IdGZEowjTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBAUAA4IBAQBt0lLO74UwLDYKqs6Tm8/yzKkEu116FmH4rkaymUIE0P9KaMftGlMexFlaYjzmB2OxZyl6euNXEsQH8gjwyxCUKRJNexBiGcCEyj6z+a1fuHHvkiaai+KL8W1EyNmgjmyy8AW7P+LLlkR+ho5zEHatRbM/YAnqGcFh5iZBqpknHf1SKMXFh4dd239FJ1jWYfbMDMy3NS5CTMQ2XFI1MvcyUTdZPErjQfTbQe3aDQsQcafEQPD+nqActifKZ0Np0IS9L9kR/wbNvyz6ENwPiTrjV2KRkEjH78ZMcUQXg0L3BYHJ3lc69Vs5Ddf9uUGGMYldX3WfMBEmh/9iFBDAaTCK
</item>
</string-array>
</resources>

View File

@@ -21,6 +21,7 @@
<string name="title_tethering">Tethering</string>
<string name="title_clients">Clients</string>
<string name="title_settings">Settings</string>
<string name="title_update">Update</string>
<string name="repeater_channel">Repeater (%1$d MHz, channel %2$d)</string>
<string name="repeater_wps">WPS (insecure)</string>
@@ -39,6 +40,7 @@
<string name="repeater_remove_group_failure">Failed to remove P2P group (reason: %s)</string>
<string name="repeater_remove_old_group_failure">Failed to remove old P2P group (reason: %s)</string>
<string name="repeater_set_oc_failure">Failed to set operating channel (reason: %s)</string>
<string name="repeater_set_vendor_elements_failure">Failed to set vendor elements (reason: %s)</string>
<string name="repeater_failure_reason_error">internal error</string>
<string name="repeater_failure_reason_p2p_unsupported">Wi\u2011Fi direct unsupported</string>
@@ -47,9 +49,12 @@
<string name="repeater_failure_disconnected">Service unavailable. Try again later</string>
<string name="repeater_missing_location_permissions">Repeater requires permissions for accessing fine
location</string>
<string name="repeater_location_off">Due to system restrictions, turning Location off may lead to things not working
properly and increased battery usage</string>
<string name="repeater_location_off_configure">Configure</string>
<string name="tethering_temp_hotspot">Temporary Wi\u2011Fi hotspot</string>
<string name="tethering_temp_hotspot_location">Temporary hotspot requires location to be turned on.</string>
<string name="tethering_location_off">This feature requires location to be turned on.</string>
<string name="tethering_temp_hotspot_failure">Failed to start hotspot (reason: %s)</string>
<string name="tethering_temp_hotspot_failure_no_channel">no channel</string>
<string name="tethering_temp_hotspot_failure_generic">generic error</string>
@@ -64,11 +69,9 @@
if VPN tethering does not work.</string>
<string name="tethering_manage_usb">USB tethering</string>
<string name="tethering_manage_wifi">Wi\u2011Fi hotspot</string>
<string name="tethering_manage_wifi_legacy">Wi\u2011Fi hotspot (legacy)</string>
<string name="tethering_manage_bluetooth">Bluetooth tethering</string>
<string name="tethering_manage_ethernet">Ethernet tethering</string>
<string name="tethering_manage_ncm">USB tethering (NCM)</string>
<string name="tethering_manage_wigig">WiGig hotspot</string>
<string name="tethering_manage_wifi_info">%1$d MHz, channel %2$d, width %3$s</string>
<string name="tethering_manage_wifi_info_timeout_enabled">%4$s: Wi\u2011Fi %5$d, %1$d MHz, channel %2$d,
width %3$s, idle timeout in %6$s</string>
@@ -83,6 +86,7 @@
<item quantity="other">%1d clients connected</item>
</plurals>
<string name="tethering_manage_wifi_supported_channels">\nSupported channels: %s</string>
<string name="tethering_manage_wifi_country_code">\nDriver country code: %s</string>
<string name="tethering_manage_wifi_feature_ap_mac_randomization">Randomized AP MAC</string>
<string name="tethering_manage_wifi_feature_bridged_ap_concurrency">Bridged AP concurrency</string>
<string name="tethering_manage_wifi_feature_sta_ap_concurrency">STA + AP concurrency</string>
@@ -125,7 +129,9 @@
<string name="settings_service_masquerade_netd">Android Netd Service</string>
<string name="settings_service_disable_ipv6">Disable IPv6 tethering</string>
<string name="settings_service_disable_ipv6_summary">Enabling this option will prevent VPN leaks via IPv6.</string>
<string name="settings_service_repeater_start_on_boot">Start repeater on boot</string>
<string name="settings_service_auto_start">Auto start services</string>
<string name="settings_service_auto_start_summary">Restore services if they were running before device reboot or app
update</string>
<string name="settings_service_repeater_safe_mode">Repeater safe mode</string>
<string name="settings_service_repeater_safe_mode_summary">Makes no changes to your system configuration but might
not work with short network names.</string>
@@ -170,8 +176,9 @@
<string name="settings_restart_required">Restart this app to apply this setting.</string>
<string name="settings_exit_app">Exit</string>
<string name="notification_tethering_title">VPN tethering active</string>
<string name="notification_tethering_title">VPN tethering</string>
<string name="notification_channel_tethering">VPN Tethering Service</string>
<string name="notification_channel_monitor">Monitor Inactive Interfaces</string>
<plurals name="notification_connected_devices">
<item quantity="one">%d device connected to %s</item>
<item quantity="other">%d devices connected to %s</item>
@@ -195,6 +202,7 @@
<string name="configuration_share">Share via QR code</string>
<string name="configuration_rejected">Android system refuses such configuration. (see logcat)</string>
<string name="wifi_ssid">Network name</string>
<string name="wifi_ssid_toggle_hex">Toggle hex display</string>
<string name="wifi_security">Security</string>
<string name="wifi_password">Password</string>
<string name="wifi_hotspot_auto_off">Turn off hotspot automatically when no devices are connected</string>
@@ -202,22 +210,30 @@
<string name="wifi_hotspot_timeout_default">Default timeout: %dms</string>
<string name="wifi_hotspot_ap_band_title">AP Band</string>
<string name="wifi_ap_choose_disabled">Disabled</string>
<string name="wifi_ap_choose_auto">Auto</string>
<string name="wifi_ap_choose_2G">2.4 GHz Band</string>
<string name="wifi_ap_choose_5G">5 GHz Band</string>
<string name="wifi_ap_choose_6G">6 GHz Band</string>
<string name="wifi_ap_choose_60G">60 GHz Band</string>
<string name="wifi_ap_choose_G">%s GHz Band</string>
<string name="wifi_hotspot_acs_channel_2g">Allowed 2.4 GHz ACS channels</string>
<string name="wifi_hotspot_acs_channel_5g">Allowed 5 GHz ACS channels</string>
<string name="wifi_hotspot_acs_channel_6g">Allowed 6 GHz ACS channels</string>
<string name="wifi_hotspot_max_channel_bandwidth">Maximum channel bandwidth</string>
<string name="wifi_hotspot_access_control_title">Access Control</string>
<string name="wifi_hotspot_ap_advanced_title">Advanced AP Options</string>
<string name="wifi_advanced_mac_address_title">MAC address</string>
<string name="wifi_advanced_mac_address_persistent_randomized">Persistent Randomized MAC address</string>
<string name="wifi_hidden_network">Hidden network</string>
<string name="wifi_max_clients">Maximum number of clients</string>
<string name="wifi_client_user_control">Control which client can use hotspot</string>
<string name="wifi_blocked_list">Blocked list of clients</string>
<string name="wifi_allowed_list">Allowed list of clients</string>
<string name="wifi_mac_randomization">Use randomized MAC</string>
<string name="wifi_bridged_mode">Enable Bridged Access point (AP) concurrency</string>
<string name="wifi_bridged_mode_opportunistic_shutdown">Enable Bridged mode opportunistic shutdown</string>
<string name="wifi_mac_randomization_none">None</string>
<string name="wifi_mac_randomization_persistent">Persistent</string>
<string name="wifi_mac_randomization_non_persistent">Non-persistent</string>
<string name="wifi_bridged_mode_opportunistic_shutdown">Enable opportunistic shutdown of an instance in bridged AP</string>
<string name="wifi_hotspot_timeout_bridged">Inactive timeout for a bridged instance</string>
<string name="wifi_ieee_80211ax">Enable Wi\u2011Fi 6</string>
<string name="wifi_user_config">User Supplied Configuration</string>
<string name="wifi_ieee_80211be">Enable Wi\u2011Fi 7</string>
<string name="wifi_user_config">User supplied configuration</string>
<string name="wifi_vendor_elements">Vendor elements</string>
<string name="wifi_save">Save</string>
<!-- Based on: https://github.com/PrivacyApps/donations/blob/747d36a18433c7e9329691054122a8ad337a62d2/Donations/src/main/res/values/donations__strings.xml -->

View File

@@ -1,12 +1,13 @@
<resources xmlns:tools="http://schemas.android.com/tools">
<style name="AppTheme" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<style name="AppTheme" parent="Theme.Material3.DayNight.NoActionBar">
<item name="android:navigationBarColor">@color/navigationBarColor</item>
<item name="android:windowLightNavigationBar" tools:targetApi="o_mr1">@bool/is_day</item>
<item name="android:windowLightNavigationBar">@bool/is_day</item>
<item name="actionBarStyle">@style/Widget.MaterialComponents.Light.ActionBar.Solid</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorSecondary">@color/colorSecondary</item>
<item name="switchPreferenceCompatStyle">@style/AppTheme.Preference.MaterialSwitchPreference</item>
<!-- Remove ActionBar but keep styles and themes -->
<item name="windowActionBar">false</item>
@@ -16,6 +17,9 @@
<item name="windowActionBar">true</item>
<item name="windowNoTitle">false</item>
</style>
<style name="AppTheme.Preference.MaterialSwitchPreference" parent="Preference.SwitchPreferenceCompat.Material">
<item name="android:widgetLayout">@layout/preference_widget_material_switch</item>
</style>
<!-- https://android.googlesource.com/platform/packages/apps/Settings/+/7efcc35/res/values/styles.xml -->
<style name="wifi_item">
@@ -43,5 +47,16 @@
<item name="android:layout_marginStart">4dip</item>
<item name="android:textSize">18sp</item>
</style>
<style name="wifi_item_divider">
<item name="dividerInsetStart">8dip</item>
<item name="android:layout_marginTop">8dip</item>
</style>
<style name="wifi_item_subhead">
<item name="android:layout_marginTop">8dip</item>
<item name="android:paddingStart">8dip</item>
<item name="android:textAppearance">@style/TextAppearance.MaterialComponents.Subtitle1</item>
<item name="android:textColor">?attr/colorPrimary</item>
<item name="android:textStyle">bold</item>
</style>
</resources>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<locale-config xmlns:android="http://schemas.android.com/apk/res/android">
<locale android:name="en"/>
<locale android:name="it"/>
<locale android:name="pt-BR"/>
<locale android:name="ru"/>
<locale android:name="zh-CN"/>
<locale android:name="zh-TW"/>
</locale-config>

View File

@@ -31,19 +31,19 @@
</PreferenceCategory>
<PreferenceCategory
app:title="@string/settings_downstream">
<SwitchPreference
<SwitchPreferenceCompat
app:key="service.disableIpv6"
app:icon="@drawable/ic_image_looks_6"
app:title="@string/settings_service_disable_ipv6"
app:summary="@string/settings_service_disable_ipv6_summary"
app:defaultValue="true"/>
<SwitchPreference
<SwitchPreferenceCompat
app:key="system.enableTetherOffload"
app:persistent="false"
app:icon="@drawable/ic_device_battery_charging_full"
app:title="@string/settings_system_tether_offload"
app:summary="@string/settings_system_tether_offload_summary"/>
<SwitchPreference
<SwitchPreferenceCompat
app:key="service.dhcpWorkaround"
app:icon="@drawable/ic_action_build"
app:title="@string/settings_service_dhcp_workaround"
@@ -58,17 +58,18 @@
app:entryValues="@array/settings_service_wifi_lock_values"
app:title="@string/settings_service_wifi_lock"
app:useSimpleSummaryProvider="true"/>
<SwitchPreference
app:key="service.repeater.startOnBoot"
<SwitchPreferenceCompat
app:key="service.autoStart"
app:icon="@drawable/ic_action_autorenew"
app:title="@string/settings_service_repeater_start_on_boot"/>
<SwitchPreference
app:title="@string/settings_service_auto_start"
app:summary="@string/settings_service_auto_start_summary"/>
<SwitchPreferenceCompat
app:key="service.repeater.safeMode"
app:icon="@drawable/ic_alert_warning"
app:title="@string/settings_service_repeater_safe_mode"
app:summary="@string/settings_service_repeater_safe_mode_summary"
app:defaultValue="true"/>
<SwitchPreference
<SwitchPreferenceCompat
app:key="service.tempHotspot.useSystem"
app:icon="@drawable/ic_content_file_copy"
app:title="@string/settings_service_temp_hotspot_use_system"