global: optimize imports
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
parent
8e8643122e
commit
40ebf8006e
@ -5,11 +5,9 @@
|
|||||||
|
|
||||||
package com.wireguard.android.backend;
|
package com.wireguard.android.backend;
|
||||||
|
|
||||||
|
import com.wireguard.config.Config;
|
||||||
import com.wireguard.util.NonNullForAll;
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import com.wireguard.config.Config;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
|
@ -5,14 +5,10 @@
|
|||||||
|
|
||||||
package com.wireguard.android.backend;
|
package com.wireguard.android.backend;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.ParcelFileDescriptor;
|
import android.os.ParcelFileDescriptor;
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import androidx.collection.ArraySet;
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import com.wireguard.android.backend.BackendException.Reason;
|
import com.wireguard.android.backend.BackendException.Reason;
|
||||||
@ -23,6 +19,7 @@ import com.wireguard.config.InetNetwork;
|
|||||||
import com.wireguard.config.Peer;
|
import com.wireguard.config.Peer;
|
||||||
import com.wireguard.crypto.Key;
|
import com.wireguard.crypto.Key;
|
||||||
import com.wireguard.crypto.KeyFormatException;
|
import com.wireguard.crypto.KeyFormatException;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
@ -30,6 +27,8 @@ import java.util.Set;
|
|||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
import java.util.concurrent.TimeoutException;
|
import java.util.concurrent.TimeoutException;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.collection.ArraySet;
|
||||||
import java9.util.concurrent.CompletableFuture;
|
import java9.util.concurrent.CompletableFuture;
|
||||||
|
|
||||||
@NonNullForAll
|
@NonNullForAll
|
||||||
|
@ -5,12 +5,11 @@
|
|||||||
|
|
||||||
package com.wireguard.android.backend;
|
package com.wireguard.android.backend;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.os.SystemClock;
|
import android.os.SystemClock;
|
||||||
import android.util.Pair;
|
import android.util.Pair;
|
||||||
|
|
||||||
import com.wireguard.crypto.Key;
|
import com.wireguard.crypto.Key;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -5,10 +5,6 @@
|
|||||||
|
|
||||||
package com.wireguard.android.backend;
|
package com.wireguard.android.backend;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.util.Pair;
|
import android.util.Pair;
|
||||||
@ -19,6 +15,7 @@ import com.wireguard.android.util.RootShell;
|
|||||||
import com.wireguard.android.util.ToolsInstaller;
|
import com.wireguard.android.util.ToolsInstaller;
|
||||||
import com.wireguard.config.Config;
|
import com.wireguard.config.Config;
|
||||||
import com.wireguard.crypto.Key;
|
import com.wireguard.crypto.Key;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
@ -26,14 +23,15 @@ import java.nio.charset.StandardCharsets;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.HashMap;
|
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
import java9.util.stream.Collectors;
|
import java9.util.stream.Collectors;
|
||||||
import java9.util.stream.Stream;
|
import java9.util.stream.Stream;
|
||||||
|
|
||||||
|
@ -5,13 +5,12 @@
|
|||||||
|
|
||||||
package com.wireguard.android.util;
|
package com.wireguard.android.util;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.system.OsConstants;
|
import android.system.OsConstants;
|
||||||
import android.util.Base64;
|
import android.util.Base64;
|
||||||
|
|
||||||
import com.wireguard.android.util.RootShell.RootShellException;
|
import com.wireguard.android.util.RootShell.RootShellException;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import net.i2p.crypto.eddsa.EdDSAEngine;
|
import net.i2p.crypto.eddsa.EdDSAEngine;
|
||||||
import net.i2p.crypto.eddsa.EdDSAPublicKey;
|
import net.i2p.crypto.eddsa.EdDSAPublicKey;
|
||||||
|
@ -5,13 +5,11 @@
|
|||||||
|
|
||||||
package com.wireguard.android.util;
|
package com.wireguard.android.util;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import com.wireguard.android.util.RootShell.RootShellException.Reason;
|
import com.wireguard.android.util.RootShell.RootShellException.Reason;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@ -22,6 +20,8 @@ import java.nio.charset.StandardCharsets;
|
|||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Helper class for running commands as root.
|
* Helper class for running commands as root.
|
||||||
*/
|
*/
|
||||||
|
@ -5,12 +5,12 @@
|
|||||||
|
|
||||||
package com.wireguard.android.util;
|
package com.wireguard.android.util;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
@ -5,14 +5,12 @@
|
|||||||
|
|
||||||
package com.wireguard.android.util;
|
package com.wireguard.android.util;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import android.system.OsConstants;
|
import android.system.OsConstants;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import com.wireguard.android.util.RootShell.RootShellException;
|
import com.wireguard.android.util.RootShell.RootShellException;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
@ -20,6 +18,8 @@ import java.io.IOException;
|
|||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Helper to install WireGuard tools to the system partition.
|
* Helper to install WireGuard tools to the system partition.
|
||||||
*/
|
*/
|
||||||
|
@ -5,12 +5,11 @@
|
|||||||
|
|
||||||
package com.wireguard.config;
|
package com.wireguard.config;
|
||||||
|
|
||||||
|
import com.wireguard.crypto.KeyFormatException;
|
||||||
import com.wireguard.util.NonNullForAll;
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
import com.wireguard.crypto.KeyFormatException;
|
|
||||||
|
|
||||||
@NonNullForAll
|
@NonNullForAll
|
||||||
public class BadConfigException extends Exception {
|
public class BadConfigException extends Exception {
|
||||||
private final Location location;
|
private final Location location;
|
||||||
|
@ -5,13 +5,10 @@
|
|||||||
|
|
||||||
package com.wireguard.config;
|
package com.wireguard.config;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
|
|
||||||
import com.wireguard.config.BadConfigException.Location;
|
import com.wireguard.config.BadConfigException.Location;
|
||||||
import com.wireguard.config.BadConfigException.Reason;
|
import com.wireguard.config.BadConfigException.Reason;
|
||||||
import com.wireguard.config.BadConfigException.Section;
|
import com.wireguard.config.BadConfigException.Section;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@ -25,6 +22,8 @@ import java.util.List;
|
|||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents the contents of a wg-quick configuration file, made up of one or more "Interface"
|
* Represents the contents of a wg-quick configuration file, made up of one or more "Interface"
|
||||||
* sections (combined together), and zero or more "Peer" sections (treated individually).
|
* sections (combined together), and zero or more "Peer" sections (treated individually).
|
||||||
|
@ -7,8 +7,6 @@ package com.wireguard.config;
|
|||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
|
|
||||||
import org.threeten.bp.Duration;
|
import org.threeten.bp.Duration;
|
||||||
import org.threeten.bp.Instant;
|
import org.threeten.bp.Instant;
|
||||||
|
|
||||||
@ -19,6 +17,7 @@ import java.net.URISyntaxException;
|
|||||||
import java.net.UnknownHostException;
|
import java.net.UnknownHostException;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
import java9.util.Optional;
|
import java9.util.Optional;
|
||||||
|
|
||||||
|
|
||||||
|
@ -5,16 +5,13 @@
|
|||||||
|
|
||||||
package com.wireguard.config;
|
package com.wireguard.config;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
|
|
||||||
import com.wireguard.config.BadConfigException.Location;
|
import com.wireguard.config.BadConfigException.Location;
|
||||||
import com.wireguard.config.BadConfigException.Reason;
|
import com.wireguard.config.BadConfigException.Reason;
|
||||||
import com.wireguard.config.BadConfigException.Section;
|
import com.wireguard.config.BadConfigException.Section;
|
||||||
import com.wireguard.crypto.Key;
|
import com.wireguard.crypto.Key;
|
||||||
import com.wireguard.crypto.KeyFormatException;
|
import com.wireguard.crypto.KeyFormatException;
|
||||||
import com.wireguard.crypto.KeyPair;
|
import com.wireguard.crypto.KeyPair;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
@ -25,6 +22,7 @@ import java.util.Locale;
|
|||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
import java9.util.Lists;
|
import java9.util.Lists;
|
||||||
import java9.util.Optional;
|
import java9.util.Optional;
|
||||||
import java9.util.stream.Collectors;
|
import java9.util.stream.Collectors;
|
||||||
|
@ -5,15 +5,12 @@
|
|||||||
|
|
||||||
package com.wireguard.config;
|
package com.wireguard.config;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
|
|
||||||
import com.wireguard.config.BadConfigException.Location;
|
import com.wireguard.config.BadConfigException.Location;
|
||||||
import com.wireguard.config.BadConfigException.Reason;
|
import com.wireguard.config.BadConfigException.Reason;
|
||||||
import com.wireguard.config.BadConfigException.Section;
|
import com.wireguard.config.BadConfigException.Section;
|
||||||
import com.wireguard.crypto.Key;
|
import com.wireguard.crypto.Key;
|
||||||
import com.wireguard.crypto.KeyFormatException;
|
import com.wireguard.crypto.KeyFormatException;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
@ -22,6 +19,7 @@ import java.util.Locale;
|
|||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
import java9.util.Optional;
|
import java9.util.Optional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -8,10 +8,10 @@ package com.wireguard.crypto;
|
|||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implementation of the Curve25519 elliptic curve algorithm.
|
* Implementation of the Curve25519 elliptic curve algorithm.
|
||||||
* <p>
|
* <p>
|
||||||
|
@ -5,9 +5,8 @@
|
|||||||
|
|
||||||
package com.wireguard.crypto;
|
package com.wireguard.crypto;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import com.wireguard.crypto.KeyFormatException.Type;
|
import com.wireguard.crypto.KeyFormatException.Type;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.security.MessageDigest;
|
import java.security.MessageDigest;
|
||||||
import java.security.SecureRandom;
|
import java.security.SecureRandom;
|
||||||
|
@ -5,8 +5,6 @@
|
|||||||
|
|
||||||
package com.wireguard.android;
|
package com.wireguard.android;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
@ -17,10 +15,6 @@ import android.os.Looper;
|
|||||||
import android.os.StrictMode;
|
import android.os.StrictMode;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import androidx.preference.PreferenceManager;
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import androidx.appcompat.app.AppCompatDelegate;
|
|
||||||
|
|
||||||
import com.wireguard.android.backend.Backend;
|
import com.wireguard.android.backend.Backend;
|
||||||
import com.wireguard.android.backend.GoBackend;
|
import com.wireguard.android.backend.GoBackend;
|
||||||
import com.wireguard.android.backend.WgQuickBackend;
|
import com.wireguard.android.backend.WgQuickBackend;
|
||||||
@ -31,10 +25,14 @@ import com.wireguard.android.util.ExceptionLoggers;
|
|||||||
import com.wireguard.android.util.ModuleLoader;
|
import com.wireguard.android.util.ModuleLoader;
|
||||||
import com.wireguard.android.util.RootShell;
|
import com.wireguard.android.util.RootShell;
|
||||||
import com.wireguard.android.util.ToolsInstaller;
|
import com.wireguard.android.util.ToolsInstaller;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.lang.ref.WeakReference;
|
import java.lang.ref.WeakReference;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.appcompat.app.AppCompatDelegate;
|
||||||
|
import androidx.preference.PreferenceManager;
|
||||||
import java9.util.concurrent.CompletableFuture;
|
import java9.util.concurrent.CompletableFuture;
|
||||||
|
|
||||||
@NonNullForAll
|
@NonNullForAll
|
||||||
|
@ -5,8 +5,6 @@
|
|||||||
|
|
||||||
package com.wireguard.android;
|
package com.wireguard.android;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.content.BroadcastReceiver;
|
import android.content.BroadcastReceiver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
@ -15,6 +13,7 @@ import android.util.Log;
|
|||||||
import com.wireguard.android.backend.WgQuickBackend;
|
import com.wireguard.android.backend.WgQuickBackend;
|
||||||
import com.wireguard.android.model.TunnelManager;
|
import com.wireguard.android.model.TunnelManager;
|
||||||
import com.wireguard.android.util.ExceptionLoggers;
|
import com.wireguard.android.util.ExceptionLoggers;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
@NonNullForAll
|
@NonNullForAll
|
||||||
public class BootShutdownReceiver extends BroadcastReceiver {
|
public class BootShutdownReceiver extends BroadcastReceiver {
|
||||||
|
@ -5,11 +5,7 @@
|
|||||||
|
|
||||||
package com.wireguard.android;
|
package com.wireguard.android;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import androidx.databinding.Observable;
|
|
||||||
import androidx.databinding.Observable.OnPropertyChangedCallback;
|
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.graphics.Canvas;
|
import android.graphics.Canvas;
|
||||||
import android.graphics.drawable.Icon;
|
import android.graphics.drawable.Icon;
|
||||||
@ -17,8 +13,6 @@ import android.os.Build;
|
|||||||
import android.os.IBinder;
|
import android.os.IBinder;
|
||||||
import android.service.quicksettings.Tile;
|
import android.service.quicksettings.Tile;
|
||||||
import android.service.quicksettings.TileService;
|
import android.service.quicksettings.TileService;
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import androidx.annotation.RequiresApi;
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import com.wireguard.android.activity.MainActivity;
|
import com.wireguard.android.activity.MainActivity;
|
||||||
@ -26,9 +20,15 @@ import com.wireguard.android.activity.TunnelToggleActivity;
|
|||||||
import com.wireguard.android.backend.Tunnel.State;
|
import com.wireguard.android.backend.Tunnel.State;
|
||||||
import com.wireguard.android.model.ObservableTunnel;
|
import com.wireguard.android.model.ObservableTunnel;
|
||||||
import com.wireguard.android.widget.SlashDrawable;
|
import com.wireguard.android.widget.SlashDrawable;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.annotation.RequiresApi;
|
||||||
|
import androidx.databinding.Observable;
|
||||||
|
import androidx.databinding.Observable.OnPropertyChangedCallback;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Service that maintains the application's custom Quick Settings tile. This service is bound by the
|
* Service that maintains the application's custom Quick Settings tile. This service is bound by the
|
||||||
* system framework as necessary to update the appearance of the tile in the system UI, and to
|
* system framework as necessary to update the appearance of the tile in the system UI, and to
|
||||||
|
@ -5,18 +5,18 @@
|
|||||||
|
|
||||||
package com.wireguard.android.activity;
|
package com.wireguard.android.activity;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import androidx.databinding.CallbackRegistry;
|
|
||||||
import androidx.databinding.CallbackRegistry.NotifierCallback;
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
|
|
||||||
import com.wireguard.android.Application;
|
import com.wireguard.android.Application;
|
||||||
import com.wireguard.android.model.ObservableTunnel;
|
import com.wireguard.android.model.ObservableTunnel;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.databinding.CallbackRegistry;
|
||||||
|
import androidx.databinding.CallbackRegistry.NotifierCallback;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Base class for activities that need to remember the currently-selected tunnel.
|
* Base class for activities that need to remember the currently-selected tunnel.
|
||||||
*/
|
*/
|
||||||
|
@ -5,16 +5,9 @@
|
|||||||
|
|
||||||
package com.wireguard.android.activity;
|
package com.wireguard.android.activity;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
import androidx.fragment.app.FragmentManager;
|
|
||||||
import androidx.fragment.app.FragmentTransaction;
|
|
||||||
import androidx.appcompat.app.ActionBar;
|
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.view.View.OnApplyWindowInsetsListener;
|
import android.view.View.OnApplyWindowInsetsListener;
|
||||||
@ -24,9 +17,16 @@ import com.wireguard.android.R;
|
|||||||
import com.wireguard.android.fragment.TunnelDetailFragment;
|
import com.wireguard.android.fragment.TunnelDetailFragment;
|
||||||
import com.wireguard.android.fragment.TunnelEditorFragment;
|
import com.wireguard.android.fragment.TunnelEditorFragment;
|
||||||
import com.wireguard.android.model.ObservableTunnel;
|
import com.wireguard.android.model.ObservableTunnel;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.appcompat.app.ActionBar;
|
||||||
|
import androidx.fragment.app.Fragment;
|
||||||
|
import androidx.fragment.app.FragmentManager;
|
||||||
|
import androidx.fragment.app.FragmentTransaction;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CRUD interface for WireGuard tunnels. This activity serves as the main entry point to the
|
* CRUD interface for WireGuard tunnels. This activity serves as the main entry point to the
|
||||||
* WireGuard application, and contains several fragments for listing, viewing details of, and
|
* WireGuard application, and contains several fragments for listing, viewing details of, and
|
||||||
|
@ -5,17 +5,9 @@
|
|||||||
|
|
||||||
package com.wireguard.android.activity;
|
package com.wireguard.android.activity;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import androidx.core.app.ActivityCompat;
|
|
||||||
import androidx.core.content.ContextCompat;
|
|
||||||
import androidx.preference.Preference;
|
|
||||||
import androidx.preference.PreferenceFragmentCompat;
|
|
||||||
import androidx.preference.PreferenceScreen;
|
|
||||||
import android.util.SparseArray;
|
import android.util.SparseArray;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
|
|
||||||
@ -23,11 +15,19 @@ import com.wireguard.android.Application;
|
|||||||
import com.wireguard.android.R;
|
import com.wireguard.android.R;
|
||||||
import com.wireguard.android.backend.WgQuickBackend;
|
import com.wireguard.android.backend.WgQuickBackend;
|
||||||
import com.wireguard.android.util.ModuleLoader;
|
import com.wireguard.android.util.ModuleLoader;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.core.app.ActivityCompat;
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
|
import androidx.preference.Preference;
|
||||||
|
import androidx.preference.PreferenceFragmentCompat;
|
||||||
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Interface for changing application-global persistent settings.
|
* Interface for changing application-global persistent settings.
|
||||||
*/
|
*/
|
||||||
|
@ -5,20 +5,16 @@
|
|||||||
|
|
||||||
package com.wireguard.android.activity;
|
package com.wireguard.android.activity;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.content.res.Resources;
|
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
|
||||||
|
import com.wireguard.android.Application;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
import androidx.appcompat.app.AppCompatDelegate;
|
import androidx.appcompat.app.AppCompatDelegate;
|
||||||
import android.util.Log;
|
|
||||||
|
|
||||||
import com.wireguard.android.Application;
|
|
||||||
|
|
||||||
import java.lang.reflect.Field;
|
|
||||||
|
|
||||||
@NonNullForAll
|
@NonNullForAll
|
||||||
public abstract class ThemeChangeAwareActivity extends AppCompatActivity implements SharedPreferences.OnSharedPreferenceChangeListener {
|
public abstract class ThemeChangeAwareActivity extends AppCompatActivity implements SharedPreferences.OnSharedPreferenceChangeListener {
|
||||||
|
@ -5,13 +5,13 @@
|
|||||||
|
|
||||||
package com.wireguard.android.activity;
|
package com.wireguard.android.activity;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
|
|
||||||
import com.wireguard.android.fragment.TunnelEditorFragment;
|
import com.wireguard.android.fragment.TunnelEditorFragment;
|
||||||
import com.wireguard.android.model.ObservableTunnel;
|
import com.wireguard.android.model.ObservableTunnel;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Standalone activity for creating tunnels.
|
* Standalone activity for creating tunnels.
|
||||||
|
@ -5,15 +5,9 @@
|
|||||||
|
|
||||||
package com.wireguard.android.activity;
|
package com.wireguard.android.activity;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import androidx.annotation.RequiresApi;
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
|
||||||
|
|
||||||
import android.content.ComponentName;
|
import android.content.ComponentName;
|
||||||
import android.os.Bundle;
|
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
|
import android.os.Bundle;
|
||||||
import android.service.quicksettings.TileService;
|
import android.service.quicksettings.TileService;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
@ -21,9 +15,14 @@ import android.widget.Toast;
|
|||||||
import com.wireguard.android.Application;
|
import com.wireguard.android.Application;
|
||||||
import com.wireguard.android.QuickTileService;
|
import com.wireguard.android.QuickTileService;
|
||||||
import com.wireguard.android.R;
|
import com.wireguard.android.R;
|
||||||
import com.wireguard.android.model.ObservableTunnel;
|
|
||||||
import com.wireguard.android.backend.Tunnel.State;
|
import com.wireguard.android.backend.Tunnel.State;
|
||||||
|
import com.wireguard.android.model.ObservableTunnel;
|
||||||
import com.wireguard.android.util.ErrorMessages;
|
import com.wireguard.android.util.ErrorMessages;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.annotation.RequiresApi;
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
@RequiresApi(Build.VERSION_CODES.N)
|
@RequiresApi(Build.VERSION_CODES.N)
|
||||||
@NonNullForAll
|
@NonNullForAll
|
||||||
|
@ -5,9 +5,8 @@
|
|||||||
|
|
||||||
package com.wireguard.android.configStore;
|
package com.wireguard.android.configStore;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import com.wireguard.config.Config;
|
import com.wireguard.config.Config;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
@ -5,14 +5,13 @@
|
|||||||
|
|
||||||
package com.wireguard.android.configStore;
|
package com.wireguard.android.configStore;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import com.wireguard.android.R;
|
import com.wireguard.android.R;
|
||||||
import com.wireguard.config.BadConfigException;
|
import com.wireguard.config.BadConfigException;
|
||||||
import com.wireguard.config.Config;
|
import com.wireguard.config.Config;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
|
@ -5,16 +5,6 @@
|
|||||||
|
|
||||||
package com.wireguard.android.databinding;
|
package com.wireguard.android.databinding;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import androidx.databinding.BindingAdapter;
|
|
||||||
import androidx.databinding.DataBindingUtil;
|
|
||||||
import androidx.databinding.ObservableList;
|
|
||||||
import androidx.databinding.ViewDataBinding;
|
|
||||||
import androidx.databinding.adapters.ListenerUtil;
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
|
||||||
import android.text.InputFilter;
|
import android.text.InputFilter;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
@ -29,7 +19,16 @@ import com.wireguard.android.widget.ToggleSwitch.OnBeforeCheckedChangeListener;
|
|||||||
import com.wireguard.config.Attribute;
|
import com.wireguard.config.Attribute;
|
||||||
import com.wireguard.config.InetNetwork;
|
import com.wireguard.config.InetNetwork;
|
||||||
import com.wireguard.util.Keyed;
|
import com.wireguard.util.Keyed;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.databinding.BindingAdapter;
|
||||||
|
import androidx.databinding.DataBindingUtil;
|
||||||
|
import androidx.databinding.ObservableList;
|
||||||
|
import androidx.databinding.ViewDataBinding;
|
||||||
|
import androidx.databinding.adapters.ListenerUtil;
|
||||||
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
import java9.util.Optional;
|
import java9.util.Optional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -5,21 +5,21 @@
|
|||||||
|
|
||||||
package com.wireguard.android.databinding;
|
package com.wireguard.android.databinding;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import androidx.databinding.DataBindingUtil;
|
|
||||||
import androidx.databinding.ObservableList;
|
|
||||||
import androidx.databinding.ViewDataBinding;
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
|
||||||
import com.wireguard.android.BR;
|
import com.wireguard.android.BR;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.lang.ref.WeakReference;
|
import java.lang.ref.WeakReference;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.databinding.DataBindingUtil;
|
||||||
|
import androidx.databinding.ObservableList;
|
||||||
|
import androidx.databinding.ViewDataBinding;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Helper class for binding an ObservableList to the children of a ViewGroup.
|
* Helper class for binding an ObservableList to the children of a ViewGroup.
|
||||||
*/
|
*/
|
||||||
|
@ -5,24 +5,24 @@
|
|||||||
|
|
||||||
package com.wireguard.android.databinding;
|
package com.wireguard.android.databinding;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import androidx.databinding.DataBindingUtil;
|
|
||||||
import androidx.databinding.ObservableList;
|
|
||||||
import androidx.databinding.ViewDataBinding;
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
|
||||||
import androidx.recyclerview.widget.RecyclerView.Adapter;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
|
||||||
import com.wireguard.android.BR;
|
import com.wireguard.android.BR;
|
||||||
import com.wireguard.android.util.ObservableKeyedList;
|
import com.wireguard.android.util.ObservableKeyedList;
|
||||||
import com.wireguard.util.Keyed;
|
import com.wireguard.util.Keyed;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.lang.ref.WeakReference;
|
import java.lang.ref.WeakReference;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.databinding.DataBindingUtil;
|
||||||
|
import androidx.databinding.ObservableList;
|
||||||
|
import androidx.databinding.ViewDataBinding;
|
||||||
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
import androidx.recyclerview.widget.RecyclerView.Adapter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A generic {@code RecyclerView.Adapter} backed by a {@code ObservableKeyedList}.
|
* A generic {@code RecyclerView.Adapter} backed by a {@code ObservableKeyedList}.
|
||||||
*/
|
*/
|
||||||
|
@ -5,8 +5,6 @@
|
|||||||
|
|
||||||
package com.wireguard.android.fragment;
|
package com.wireguard.android.fragment;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
@ -14,10 +12,6 @@ import android.content.Intent;
|
|||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.content.pm.ResolveInfo;
|
import android.content.pm.ResolveInfo;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import androidx.fragment.app.DialogFragment;
|
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
import androidx.appcompat.app.AlertDialog;
|
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import com.wireguard.android.Application;
|
import com.wireguard.android.Application;
|
||||||
@ -27,11 +21,16 @@ import com.wireguard.android.model.ApplicationData;
|
|||||||
import com.wireguard.android.util.ErrorMessages;
|
import com.wireguard.android.util.ErrorMessages;
|
||||||
import com.wireguard.android.util.ObservableKeyedArrayList;
|
import com.wireguard.android.util.ObservableKeyedArrayList;
|
||||||
import com.wireguard.android.util.ObservableKeyedList;
|
import com.wireguard.android.util.ObservableKeyedList;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.appcompat.app.AlertDialog;
|
||||||
|
import androidx.fragment.app.DialogFragment;
|
||||||
|
import androidx.fragment.app.Fragment;
|
||||||
import java9.util.Comparators;
|
import java9.util.Comparators;
|
||||||
import java9.util.stream.Collectors;
|
import java9.util.stream.Collectors;
|
||||||
import java9.util.stream.StreamSupport;
|
import java9.util.stream.StreamSupport;
|
||||||
|
@ -5,29 +5,29 @@
|
|||||||
|
|
||||||
package com.wireguard.android.fragment;
|
package com.wireguard.android.fragment;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import androidx.databinding.DataBindingUtil;
|
|
||||||
import androidx.databinding.ViewDataBinding;
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import com.google.android.material.snackbar.Snackbar;
|
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import com.google.android.material.snackbar.Snackbar;
|
||||||
import com.wireguard.android.Application;
|
import com.wireguard.android.Application;
|
||||||
import com.wireguard.android.R;
|
import com.wireguard.android.R;
|
||||||
import com.wireguard.android.activity.BaseActivity;
|
import com.wireguard.android.activity.BaseActivity;
|
||||||
import com.wireguard.android.activity.BaseActivity.OnSelectedTunnelChangedListener;
|
import com.wireguard.android.activity.BaseActivity.OnSelectedTunnelChangedListener;
|
||||||
import com.wireguard.android.backend.GoBackend;
|
import com.wireguard.android.backend.GoBackend;
|
||||||
|
import com.wireguard.android.backend.Tunnel.State;
|
||||||
import com.wireguard.android.databinding.TunnelDetailFragmentBinding;
|
import com.wireguard.android.databinding.TunnelDetailFragmentBinding;
|
||||||
import com.wireguard.android.databinding.TunnelListItemBinding;
|
import com.wireguard.android.databinding.TunnelListItemBinding;
|
||||||
import com.wireguard.android.model.ObservableTunnel;
|
import com.wireguard.android.model.ObservableTunnel;
|
||||||
import com.wireguard.android.backend.Tunnel.State;
|
|
||||||
import com.wireguard.android.util.ErrorMessages;
|
import com.wireguard.android.util.ErrorMessages;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.databinding.DataBindingUtil;
|
||||||
|
import androidx.databinding.ViewDataBinding;
|
||||||
|
import androidx.fragment.app.Fragment;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Base class for fragments that need to know the currently-selected tunnel. Only does anything when
|
* Base class for fragments that need to know the currently-selected tunnel. Only does anything when
|
||||||
|
@ -5,16 +5,11 @@
|
|||||||
|
|
||||||
package com.wireguard.android.fragment;
|
package com.wireguard.android.fragment;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import androidx.fragment.app.DialogFragment;
|
|
||||||
import androidx.appcompat.app.AlertDialog;
|
|
||||||
import android.view.inputmethod.InputMethodManager;
|
import android.view.inputmethod.InputMethodManager;
|
||||||
|
|
||||||
import com.wireguard.android.Application;
|
import com.wireguard.android.Application;
|
||||||
@ -22,12 +17,17 @@ import com.wireguard.android.R;
|
|||||||
import com.wireguard.android.databinding.ConfigNamingDialogFragmentBinding;
|
import com.wireguard.android.databinding.ConfigNamingDialogFragmentBinding;
|
||||||
import com.wireguard.config.BadConfigException;
|
import com.wireguard.config.BadConfigException;
|
||||||
import com.wireguard.config.Config;
|
import com.wireguard.config.Config;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.io.ByteArrayInputStream;
|
import java.io.ByteArrayInputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.appcompat.app.AlertDialog;
|
||||||
|
import androidx.fragment.app.DialogFragment;
|
||||||
|
|
||||||
@NonNullForAll
|
@NonNullForAll
|
||||||
public class ConfigNamingDialogFragment extends DialogFragment {
|
public class ConfigNamingDialogFragment extends DialogFragment {
|
||||||
private static final String KEY_CONFIG_TEXT = "config_text";
|
private static final String KEY_CONFIG_TEXT = "config_text";
|
||||||
|
@ -5,12 +5,7 @@
|
|||||||
|
|
||||||
package com.wireguard.android.fragment;
|
package com.wireguard.android.fragment;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import androidx.databinding.DataBindingUtil;
|
|
||||||
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuInflater;
|
import android.view.MenuInflater;
|
||||||
@ -18,16 +13,20 @@ import android.view.View;
|
|||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
|
||||||
import com.wireguard.android.R;
|
import com.wireguard.android.R;
|
||||||
|
import com.wireguard.android.backend.Tunnel.State;
|
||||||
import com.wireguard.android.databinding.TunnelDetailFragmentBinding;
|
import com.wireguard.android.databinding.TunnelDetailFragmentBinding;
|
||||||
import com.wireguard.android.databinding.TunnelDetailPeerBinding;
|
import com.wireguard.android.databinding.TunnelDetailPeerBinding;
|
||||||
import com.wireguard.android.model.ObservableTunnel;
|
import com.wireguard.android.model.ObservableTunnel;
|
||||||
import com.wireguard.android.backend.Tunnel.State;
|
|
||||||
import com.wireguard.android.ui.EdgeToEdge;
|
import com.wireguard.android.ui.EdgeToEdge;
|
||||||
import com.wireguard.crypto.Key;
|
import com.wireguard.crypto.Key;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.util.Timer;
|
import java.util.Timer;
|
||||||
import java.util.TimerTask;
|
import java.util.TimerTask;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.databinding.DataBindingUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fragment that shows details about a specific tunnel.
|
* Fragment that shows details about a specific tunnel.
|
||||||
*/
|
*/
|
||||||
|
@ -5,15 +5,9 @@
|
|||||||
|
|
||||||
package com.wireguard.android.fragment;
|
package com.wireguard.android.fragment;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import androidx.databinding.ObservableList;
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import com.google.android.material.snackbar.Snackbar;
|
|
||||||
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
@ -24,6 +18,7 @@ import android.view.ViewGroup;
|
|||||||
import android.view.inputmethod.InputMethodManager;
|
import android.view.inputmethod.InputMethodManager;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import com.google.android.material.snackbar.Snackbar;
|
||||||
import com.wireguard.android.Application;
|
import com.wireguard.android.Application;
|
||||||
import com.wireguard.android.R;
|
import com.wireguard.android.R;
|
||||||
import com.wireguard.android.databinding.TunnelEditorFragmentBinding;
|
import com.wireguard.android.databinding.TunnelEditorFragmentBinding;
|
||||||
@ -34,11 +29,15 @@ import com.wireguard.android.ui.EdgeToEdge;
|
|||||||
import com.wireguard.android.util.ErrorMessages;
|
import com.wireguard.android.util.ErrorMessages;
|
||||||
import com.wireguard.android.viewmodel.ConfigProxy;
|
import com.wireguard.android.viewmodel.ConfigProxy;
|
||||||
import com.wireguard.config.Config;
|
import com.wireguard.config.Config;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.databinding.ObservableList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fragment for editing a WireGuard configuration.
|
* Fragment for editing a WireGuard configuration.
|
||||||
*/
|
*/
|
||||||
|
@ -5,8 +5,6 @@
|
|||||||
|
|
||||||
package com.wireguard.android.fragment;
|
package com.wireguard.android.fragment;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.ContentResolver;
|
import android.content.ContentResolver;
|
||||||
@ -16,13 +14,6 @@ import android.database.Cursor;
|
|||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.provider.OpenableColumns;
|
import android.provider.OpenableColumns;
|
||||||
import androidx.annotation.NonNull;
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import com.google.android.material.snackbar.Snackbar;
|
|
||||||
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
|
||||||
import androidx.appcompat.view.ActionMode;
|
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
@ -30,6 +21,7 @@ import android.view.MenuItem;
|
|||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
|
||||||
|
import com.google.android.material.snackbar.Snackbar;
|
||||||
import com.google.zxing.integration.android.IntentIntegrator;
|
import com.google.zxing.integration.android.IntentIntegrator;
|
||||||
import com.google.zxing.integration.android.IntentResult;
|
import com.google.zxing.integration.android.IntentResult;
|
||||||
import com.wireguard.android.Application;
|
import com.wireguard.android.Application;
|
||||||
@ -44,6 +36,7 @@ import com.wireguard.android.util.ErrorMessages;
|
|||||||
import com.wireguard.android.widget.MultiselectableRelativeLayout;
|
import com.wireguard.android.widget.MultiselectableRelativeLayout;
|
||||||
import com.wireguard.config.BadConfigException;
|
import com.wireguard.config.BadConfigException;
|
||||||
import com.wireguard.config.Config;
|
import com.wireguard.config.Config;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.ByteArrayInputStream;
|
import java.io.ByteArrayInputStream;
|
||||||
@ -59,6 +52,11 @@ import java.util.Locale;
|
|||||||
import java.util.zip.ZipEntry;
|
import java.util.zip.ZipEntry;
|
||||||
import java.util.zip.ZipInputStream;
|
import java.util.zip.ZipInputStream;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
import androidx.appcompat.view.ActionMode;
|
||||||
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
import java9.util.concurrent.CompletableFuture;
|
import java9.util.concurrent.CompletableFuture;
|
||||||
import java9.util.stream.StreamSupport;
|
import java9.util.stream.StreamSupport;
|
||||||
|
|
||||||
|
@ -5,14 +5,14 @@
|
|||||||
|
|
||||||
package com.wireguard.android.model;
|
package com.wireguard.android.model;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import androidx.databinding.BaseObservable;
|
|
||||||
import androidx.databinding.Bindable;
|
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
|
|
||||||
import com.wireguard.android.BR;
|
import com.wireguard.android.BR;
|
||||||
import com.wireguard.util.Keyed;
|
import com.wireguard.util.Keyed;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
|
import androidx.databinding.BaseObservable;
|
||||||
|
import androidx.databinding.Bindable;
|
||||||
|
|
||||||
@NonNullForAll
|
@NonNullForAll
|
||||||
public class ApplicationData extends BaseObservable implements Keyed<String> {
|
public class ApplicationData extends BaseObservable implements Keyed<String> {
|
||||||
|
@ -5,19 +5,17 @@
|
|||||||
|
|
||||||
package com.wireguard.android.model;
|
package com.wireguard.android.model;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import androidx.databinding.BaseObservable;
|
|
||||||
import androidx.databinding.Bindable;
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
|
|
||||||
import com.wireguard.android.BR;
|
import com.wireguard.android.BR;
|
||||||
import com.wireguard.android.backend.Statistics;
|
import com.wireguard.android.backend.Statistics;
|
||||||
import com.wireguard.android.backend.Tunnel;
|
import com.wireguard.android.backend.Tunnel;
|
||||||
import com.wireguard.android.util.ExceptionLoggers;
|
import com.wireguard.android.util.ExceptionLoggers;
|
||||||
import com.wireguard.config.Config;
|
import com.wireguard.config.Config;
|
||||||
import com.wireguard.util.Keyed;
|
import com.wireguard.util.Keyed;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.databinding.BaseObservable;
|
||||||
|
import androidx.databinding.Bindable;
|
||||||
import java9.util.concurrent.CompletableFuture;
|
import java9.util.concurrent.CompletableFuture;
|
||||||
import java9.util.concurrent.CompletionStage;
|
import java9.util.concurrent.CompletionStage;
|
||||||
|
|
||||||
|
@ -5,32 +5,31 @@
|
|||||||
|
|
||||||
package com.wireguard.android.model;
|
package com.wireguard.android.model;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.content.BroadcastReceiver;
|
import android.content.BroadcastReceiver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import androidx.databinding.BaseObservable;
|
|
||||||
import androidx.databinding.Bindable;
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
|
|
||||||
import com.wireguard.android.Application;
|
import com.wireguard.android.Application;
|
||||||
import com.wireguard.android.BR;
|
import com.wireguard.android.BR;
|
||||||
import com.wireguard.android.R;
|
import com.wireguard.android.R;
|
||||||
import com.wireguard.android.configStore.ConfigStore;
|
import com.wireguard.android.backend.Statistics;
|
||||||
import com.wireguard.android.backend.Tunnel;
|
import com.wireguard.android.backend.Tunnel;
|
||||||
import com.wireguard.android.backend.Tunnel.State;
|
import com.wireguard.android.backend.Tunnel.State;
|
||||||
import com.wireguard.android.backend.Statistics;
|
import com.wireguard.android.configStore.ConfigStore;
|
||||||
import com.wireguard.android.util.ExceptionLoggers;
|
import com.wireguard.android.util.ExceptionLoggers;
|
||||||
import com.wireguard.android.util.ObservableSortedKeyedArrayList;
|
import com.wireguard.android.util.ObservableSortedKeyedArrayList;
|
||||||
import com.wireguard.android.util.ObservableSortedKeyedList;
|
import com.wireguard.android.util.ObservableSortedKeyedList;
|
||||||
import com.wireguard.config.Config;
|
import com.wireguard.config.Config;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.databinding.BaseObservable;
|
||||||
|
import androidx.databinding.Bindable;
|
||||||
import java9.util.Comparators;
|
import java9.util.Comparators;
|
||||||
import java9.util.concurrent.CompletableFuture;
|
import java9.util.concurrent.CompletableFuture;
|
||||||
import java9.util.concurrent.CompletionStage;
|
import java9.util.concurrent.CompletionStage;
|
||||||
|
@ -5,28 +5,27 @@
|
|||||||
|
|
||||||
package com.wireguard.android.preference;
|
package com.wireguard.android.preference;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.Manifest;
|
import android.Manifest;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import com.google.android.material.snackbar.Snackbar;
|
|
||||||
import androidx.preference.Preference;
|
|
||||||
|
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
|
import com.google.android.material.snackbar.Snackbar;
|
||||||
import com.wireguard.android.Application;
|
import com.wireguard.android.Application;
|
||||||
import com.wireguard.android.R;
|
import com.wireguard.android.R;
|
||||||
import com.wireguard.android.util.DownloadsFileSaver;
|
import com.wireguard.android.util.DownloadsFileSaver;
|
||||||
import com.wireguard.android.util.DownloadsFileSaver.DownloadsFile;
|
import com.wireguard.android.util.DownloadsFileSaver.DownloadsFile;
|
||||||
import com.wireguard.android.util.ErrorMessages;
|
import com.wireguard.android.util.ErrorMessages;
|
||||||
import com.wireguard.android.util.FragmentUtils;
|
import com.wireguard.android.util.FragmentUtils;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.preference.Preference;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Preference implementing a button that asynchronously exports logs.
|
* Preference implementing a button that asynchronously exports logs.
|
||||||
*/
|
*/
|
||||||
|
@ -5,8 +5,6 @@
|
|||||||
|
|
||||||
package com.wireguard.android.preference;
|
package com.wireguard.android.preference;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.system.OsConstants;
|
import android.system.OsConstants;
|
||||||
@ -16,6 +14,7 @@ import android.widget.Toast;
|
|||||||
import com.wireguard.android.Application;
|
import com.wireguard.android.Application;
|
||||||
import com.wireguard.android.R;
|
import com.wireguard.android.R;
|
||||||
import com.wireguard.android.util.ErrorMessages;
|
import com.wireguard.android.util.ErrorMessages;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.preference.Preference;
|
import androidx.preference.Preference;
|
||||||
|
@ -5,16 +5,16 @@
|
|||||||
|
|
||||||
package com.wireguard.android.preference;
|
package com.wireguard.android.preference;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import androidx.preference.Preference;
|
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
|
|
||||||
import com.wireguard.android.Application;
|
import com.wireguard.android.Application;
|
||||||
import com.wireguard.android.R;
|
import com.wireguard.android.R;
|
||||||
import com.wireguard.android.util.ToolsInstaller;
|
import com.wireguard.android.util.ToolsInstaller;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.preference.Preference;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Preference implementing a button that asynchronously runs {@code ToolsInstaller} and displays the
|
* Preference implementing a button that asynchronously runs {@code ToolsInstaller} and displays the
|
||||||
|
@ -5,14 +5,10 @@
|
|||||||
|
|
||||||
package com.wireguard.android.preference;
|
package com.wireguard.android.preference;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.content.ActivityNotFoundException;
|
import android.content.ActivityNotFoundException;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import androidx.preference.Preference;
|
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
|
|
||||||
import com.wireguard.android.Application;
|
import com.wireguard.android.Application;
|
||||||
@ -21,9 +17,13 @@ import com.wireguard.android.R;
|
|||||||
import com.wireguard.android.backend.Backend;
|
import com.wireguard.android.backend.Backend;
|
||||||
import com.wireguard.android.backend.GoBackend;
|
import com.wireguard.android.backend.GoBackend;
|
||||||
import com.wireguard.android.backend.WgQuickBackend;
|
import com.wireguard.android.backend.WgQuickBackend;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.preference.Preference;
|
||||||
|
|
||||||
@NonNullForAll
|
@NonNullForAll
|
||||||
public class VersionPreference extends Preference {
|
public class VersionPreference extends Preference {
|
||||||
@Nullable private String versionSummary;
|
@Nullable private String versionSummary;
|
||||||
|
@ -5,17 +5,13 @@
|
|||||||
|
|
||||||
package com.wireguard.android.preference;
|
package com.wireguard.android.preference;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.Manifest;
|
import android.Manifest;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import com.google.android.material.snackbar.Snackbar;
|
|
||||||
import androidx.preference.Preference;
|
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
|
import com.google.android.material.snackbar.Snackbar;
|
||||||
import com.wireguard.android.Application;
|
import com.wireguard.android.Application;
|
||||||
import com.wireguard.android.R;
|
import com.wireguard.android.R;
|
||||||
import com.wireguard.android.model.ObservableTunnel;
|
import com.wireguard.android.model.ObservableTunnel;
|
||||||
@ -24,6 +20,7 @@ import com.wireguard.android.util.DownloadsFileSaver.DownloadsFile;
|
|||||||
import com.wireguard.android.util.ErrorMessages;
|
import com.wireguard.android.util.ErrorMessages;
|
||||||
import com.wireguard.android.util.FragmentUtils;
|
import com.wireguard.android.util.FragmentUtils;
|
||||||
import com.wireguard.config.Config;
|
import com.wireguard.config.Config;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -31,6 +28,8 @@ import java.util.List;
|
|||||||
import java.util.zip.ZipEntry;
|
import java.util.zip.ZipEntry;
|
||||||
import java.util.zip.ZipOutputStream;
|
import java.util.zip.ZipOutputStream;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.preference.Preference;
|
||||||
import java9.util.concurrent.CompletableFuture;
|
import java9.util.concurrent.CompletableFuture;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -6,12 +6,7 @@ package com.wireguard.android.ui
|
|||||||
|
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.core.view.marginBottom
|
import androidx.core.view.*
|
||||||
import androidx.core.view.marginLeft
|
|
||||||
import androidx.core.view.marginRight
|
|
||||||
import androidx.core.view.marginTop
|
|
||||||
import androidx.core.view.updateLayoutParams
|
|
||||||
import androidx.core.view.updatePadding
|
|
||||||
import com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
|
import com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -5,10 +5,10 @@
|
|||||||
|
|
||||||
package com.wireguard.android.util;
|
package com.wireguard.android.util;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
|
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.util.concurrent.Executor;
|
import java.util.concurrent.Executor;
|
||||||
|
|
||||||
import java9.util.concurrent.CompletableFuture;
|
import java9.util.concurrent.CompletableFuture;
|
||||||
|
@ -5,15 +5,15 @@
|
|||||||
|
|
||||||
package com.wireguard.android.util;
|
package com.wireguard.android.util;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.content.ClipData;
|
import android.content.ClipData;
|
||||||
import android.content.ClipboardManager;
|
import android.content.ClipboardManager;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import com.google.android.material.snackbar.Snackbar;
|
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import com.google.android.material.snackbar.Snackbar;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Standalone utilities for interacting with the system clipboard.
|
* Standalone utilities for interacting with the system clipboard.
|
||||||
*/
|
*/
|
||||||
|
@ -5,8 +5,6 @@
|
|||||||
|
|
||||||
package com.wireguard.android.util;
|
package com.wireguard.android.util;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.content.ContentResolver;
|
import android.content.ContentResolver;
|
||||||
import android.content.ContentValues;
|
import android.content.ContentValues;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@ -18,6 +16,7 @@ import android.provider.MediaStore;
|
|||||||
import android.provider.MediaStore.MediaColumns;
|
import android.provider.MediaStore.MediaColumns;
|
||||||
|
|
||||||
import com.wireguard.android.R;
|
import com.wireguard.android.R;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
|
@ -5,13 +5,9 @@
|
|||||||
|
|
||||||
package com.wireguard.android.util;
|
package com.wireguard.android.util;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.os.RemoteException;
|
import android.os.RemoteException;
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
|
|
||||||
import com.wireguard.android.Application;
|
import com.wireguard.android.Application;
|
||||||
import com.wireguard.android.R;
|
import com.wireguard.android.R;
|
||||||
import com.wireguard.android.backend.BackendException;
|
import com.wireguard.android.backend.BackendException;
|
||||||
@ -24,11 +20,13 @@ import com.wireguard.config.ParseException;
|
|||||||
import com.wireguard.crypto.Key.Format;
|
import com.wireguard.crypto.Key.Format;
|
||||||
import com.wireguard.crypto.KeyFormatException;
|
import com.wireguard.crypto.KeyFormatException;
|
||||||
import com.wireguard.crypto.KeyFormatException.Type;
|
import com.wireguard.crypto.KeyFormatException.Type;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
import java.util.EnumMap;
|
import java.util.EnumMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
import java9.util.Maps;
|
import java9.util.Maps;
|
||||||
|
|
||||||
@NonNullForAll
|
@NonNullForAll
|
||||||
|
@ -5,11 +5,9 @@
|
|||||||
|
|
||||||
package com.wireguard.android.util;
|
package com.wireguard.android.util;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
import java9.util.function.BiConsumer;
|
import java9.util.function.BiConsumer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -4,13 +4,13 @@
|
|||||||
*/
|
*/
|
||||||
package com.wireguard.android.util;
|
package com.wireguard.android.util;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import androidx.preference.Preference;
|
|
||||||
import android.view.ContextThemeWrapper;
|
import android.view.ContextThemeWrapper;
|
||||||
|
|
||||||
import com.wireguard.android.activity.SettingsActivity;
|
import com.wireguard.android.activity.SettingsActivity;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
|
import androidx.preference.Preference;
|
||||||
|
|
||||||
@NonNullForAll
|
@NonNullForAll
|
||||||
public final class FragmentUtils {
|
public final class FragmentUtils {
|
||||||
|
@ -5,17 +5,16 @@
|
|||||||
|
|
||||||
package com.wireguard.android.util;
|
package com.wireguard.android.util;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import androidx.databinding.ObservableArrayList;
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
|
|
||||||
import com.wireguard.util.Keyed;
|
import com.wireguard.util.Keyed;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.ListIterator;
|
import java.util.ListIterator;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.databinding.ObservableArrayList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ArrayList that allows looking up elements by some key property. As the key property must always
|
* ArrayList that allows looking up elements by some key property. As the key property must always
|
||||||
* be retrievable, this list cannot hold {@code null} elements. Because this class places no
|
* be retrievable, this list cannot hold {@code null} elements. Because this class places no
|
||||||
|
@ -5,13 +5,12 @@
|
|||||||
|
|
||||||
package com.wireguard.android.util;
|
package com.wireguard.android.util;
|
||||||
|
|
||||||
|
import com.wireguard.util.Keyed;
|
||||||
|
import com.wireguard.util.KeyedList;
|
||||||
import com.wireguard.util.NonNullForAll;
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import androidx.databinding.ObservableList;
|
import androidx.databinding.ObservableList;
|
||||||
|
|
||||||
import com.wireguard.util.Keyed;
|
|
||||||
import com.wireguard.util.KeyedList;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A list that is both keyed and observable.
|
* A list that is both keyed and observable.
|
||||||
*/
|
*/
|
||||||
|
@ -5,11 +5,8 @@
|
|||||||
|
|
||||||
package com.wireguard.android.util;
|
package com.wireguard.android.util;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
|
|
||||||
import com.wireguard.util.Keyed;
|
import com.wireguard.util.Keyed;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
import com.wireguard.util.SortedKeyedList;
|
import com.wireguard.util.SortedKeyedList;
|
||||||
|
|
||||||
import java.util.AbstractList;
|
import java.util.AbstractList;
|
||||||
@ -21,6 +18,8 @@ import java.util.NoSuchElementException;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.Spliterator;
|
import java.util.Spliterator;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* KeyedArrayList that enforces uniqueness and sorted order across the set of keys. This class uses
|
* KeyedArrayList that enforces uniqueness and sorted order across the set of keys. This class uses
|
||||||
* binary search to improve lookup and replacement times to O(log(n)). However, due to the
|
* binary search to improve lookup and replacement times to O(log(n)). However, due to the
|
||||||
|
@ -5,9 +5,8 @@
|
|||||||
|
|
||||||
package com.wireguard.android.util;
|
package com.wireguard.android.util;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import com.wireguard.util.Keyed;
|
import com.wireguard.util.Keyed;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
import com.wireguard.util.SortedKeyedList;
|
import com.wireguard.util.SortedKeyedList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -5,20 +5,20 @@
|
|||||||
|
|
||||||
package com.wireguard.android.viewmodel;
|
package com.wireguard.android.viewmodel;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import androidx.databinding.ObservableArrayList;
|
|
||||||
import androidx.databinding.ObservableList;
|
|
||||||
import android.os.Parcel;
|
import android.os.Parcel;
|
||||||
import android.os.Parcelable;
|
import android.os.Parcelable;
|
||||||
|
|
||||||
import com.wireguard.config.BadConfigException;
|
import com.wireguard.config.BadConfigException;
|
||||||
import com.wireguard.config.Config;
|
import com.wireguard.config.Config;
|
||||||
import com.wireguard.config.Peer;
|
import com.wireguard.config.Peer;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
|
||||||
|
import androidx.databinding.ObservableArrayList;
|
||||||
|
import androidx.databinding.ObservableList;
|
||||||
|
|
||||||
@NonNullForAll
|
@NonNullForAll
|
||||||
public class ConfigProxy implements Parcelable {
|
public class ConfigProxy implements Parcelable {
|
||||||
public static final Parcelable.Creator<ConfigProxy> CREATOR = new ConfigProxyCreator();
|
public static final Parcelable.Creator<ConfigProxy> CREATOR = new ConfigProxyCreator();
|
||||||
|
@ -5,12 +5,6 @@
|
|||||||
|
|
||||||
package com.wireguard.android.viewmodel;
|
package com.wireguard.android.viewmodel;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import androidx.databinding.BaseObservable;
|
|
||||||
import androidx.databinding.Bindable;
|
|
||||||
import androidx.databinding.ObservableArrayList;
|
|
||||||
import androidx.databinding.ObservableList;
|
|
||||||
import android.os.Parcel;
|
import android.os.Parcel;
|
||||||
import android.os.Parcelable;
|
import android.os.Parcelable;
|
||||||
|
|
||||||
@ -21,10 +15,15 @@ import com.wireguard.config.Interface;
|
|||||||
import com.wireguard.crypto.Key;
|
import com.wireguard.crypto.Key;
|
||||||
import com.wireguard.crypto.KeyFormatException;
|
import com.wireguard.crypto.KeyFormatException;
|
||||||
import com.wireguard.crypto.KeyPair;
|
import com.wireguard.crypto.KeyPair;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import androidx.databinding.BaseObservable;
|
||||||
|
import androidx.databinding.Bindable;
|
||||||
|
import androidx.databinding.ObservableArrayList;
|
||||||
|
import androidx.databinding.ObservableList;
|
||||||
import java9.util.stream.Collectors;
|
import java9.util.stream.Collectors;
|
||||||
import java9.util.stream.StreamSupport;
|
import java9.util.stream.StreamSupport;
|
||||||
|
|
||||||
|
@ -5,15 +5,8 @@
|
|||||||
|
|
||||||
package com.wireguard.android.viewmodel;
|
package com.wireguard.android.viewmodel;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import androidx.databinding.BaseObservable;
|
|
||||||
import androidx.databinding.Bindable;
|
|
||||||
import androidx.databinding.Observable;
|
|
||||||
import androidx.databinding.ObservableList;
|
|
||||||
import android.os.Parcel;
|
import android.os.Parcel;
|
||||||
import android.os.Parcelable;
|
import android.os.Parcelable;
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
|
|
||||||
import com.wireguard.android.BR;
|
import com.wireguard.android.BR;
|
||||||
import com.wireguard.config.Attribute;
|
import com.wireguard.config.Attribute;
|
||||||
@ -21,6 +14,7 @@ import com.wireguard.config.BadConfigException;
|
|||||||
import com.wireguard.config.InetEndpoint;
|
import com.wireguard.config.InetEndpoint;
|
||||||
import com.wireguard.config.Peer;
|
import com.wireguard.config.Peer;
|
||||||
import com.wireguard.crypto.Key;
|
import com.wireguard.crypto.Key;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import java.lang.ref.WeakReference;
|
import java.lang.ref.WeakReference;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -29,6 +23,11 @@ import java.util.LinkedHashSet;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.databinding.BaseObservable;
|
||||||
|
import androidx.databinding.Bindable;
|
||||||
|
import androidx.databinding.Observable;
|
||||||
|
import androidx.databinding.ObservableList;
|
||||||
import java9.util.Lists;
|
import java9.util.Lists;
|
||||||
import java9.util.Sets;
|
import java9.util.Sets;
|
||||||
import java9.util.stream.Collectors;
|
import java9.util.stream.Collectors;
|
||||||
|
@ -5,14 +5,14 @@
|
|||||||
|
|
||||||
package com.wireguard.android.widget;
|
package com.wireguard.android.widget;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import android.text.InputFilter;
|
import android.text.InputFilter;
|
||||||
import android.text.SpannableStringBuilder;
|
import android.text.SpannableStringBuilder;
|
||||||
import android.text.Spanned;
|
import android.text.Spanned;
|
||||||
|
|
||||||
import com.wireguard.crypto.Key;
|
import com.wireguard.crypto.Key;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* InputFilter for entering WireGuard private/public keys encoded with base64.
|
* InputFilter for entering WireGuard private/public keys encoded with base64.
|
||||||
|
@ -5,13 +5,12 @@
|
|||||||
|
|
||||||
package com.wireguard.android.widget;
|
package com.wireguard.android.widget;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
import android.widget.RelativeLayout;
|
import android.widget.RelativeLayout;
|
||||||
|
|
||||||
import com.wireguard.android.R;
|
import com.wireguard.android.R;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
@NonNullForAll
|
@NonNullForAll
|
||||||
public class MultiselectableRelativeLayout extends RelativeLayout {
|
public class MultiselectableRelativeLayout extends RelativeLayout {
|
||||||
|
@ -5,14 +5,14 @@
|
|||||||
|
|
||||||
package com.wireguard.android.widget;
|
package com.wireguard.android.widget;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import android.text.InputFilter;
|
import android.text.InputFilter;
|
||||||
import android.text.SpannableStringBuilder;
|
import android.text.SpannableStringBuilder;
|
||||||
import android.text.Spanned;
|
import android.text.Spanned;
|
||||||
|
|
||||||
import com.wireguard.android.backend.Tunnel;
|
import com.wireguard.android.backend.Tunnel;
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* InputFilter for entering WireGuard configuration names (Linux interface names).
|
* InputFilter for entering WireGuard configuration names (Linux interface names).
|
||||||
|
@ -6,8 +6,6 @@
|
|||||||
|
|
||||||
package com.wireguard.android.widget;
|
package com.wireguard.android.widget;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.animation.ObjectAnimator;
|
import android.animation.ObjectAnimator;
|
||||||
import android.animation.ValueAnimator;
|
import android.animation.ValueAnimator;
|
||||||
import android.content.res.ColorStateList;
|
import android.content.res.ColorStateList;
|
||||||
@ -24,11 +22,14 @@ import android.graphics.RectF;
|
|||||||
import android.graphics.Region;
|
import android.graphics.Region;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
|
import android.util.FloatProperty;
|
||||||
|
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
import androidx.annotation.ColorInt;
|
import androidx.annotation.ColorInt;
|
||||||
import androidx.annotation.IntRange;
|
import androidx.annotation.IntRange;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.annotation.RequiresApi;
|
import androidx.annotation.RequiresApi;
|
||||||
import android.util.FloatProperty;
|
|
||||||
|
|
||||||
@RequiresApi(Build.VERSION_CODES.N)
|
@RequiresApi(Build.VERSION_CODES.N)
|
||||||
@NonNullForAll
|
@NonNullForAll
|
||||||
|
@ -6,14 +6,15 @@
|
|||||||
|
|
||||||
package com.wireguard.android.widget;
|
package com.wireguard.android.widget;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Parcelable;
|
import android.os.Parcelable;
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
import android.widget.Switch;
|
import android.widget.Switch;
|
||||||
|
|
||||||
|
import com.wireguard.util.NonNullForAll;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
@NonNullForAll
|
@NonNullForAll
|
||||||
public class ToggleSwitch extends Switch {
|
public class ToggleSwitch extends Switch {
|
||||||
private boolean isRestoringState;
|
private boolean isRestoringState;
|
||||||
|
@ -5,8 +5,6 @@
|
|||||||
|
|
||||||
package com.wireguard.util;
|
package com.wireguard.util;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Interface for objects that have a identifying key of the given type.
|
* Interface for objects that have a identifying key of the given type.
|
||||||
*/
|
*/
|
||||||
|
@ -5,13 +5,11 @@
|
|||||||
|
|
||||||
package com.wireguard.util;
|
package com.wireguard.util;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A list containing elements that can be looked up by key. A {@code KeyedList} cannot contain
|
* A list containing elements that can be looked up by key. A {@code KeyedList} cannot contain
|
||||||
* {@code null} elements.
|
* {@code null} elements.
|
||||||
|
@ -5,14 +5,12 @@
|
|||||||
|
|
||||||
package com.wireguard.util;
|
package com.wireguard.util;
|
||||||
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A keyed list where all elements are sorted by the comparator returned by {@code comparator()}
|
* A keyed list where all elements are sorted by the comparator returned by {@code comparator()}
|
||||||
* applied to their keys.
|
* applied to their keys.
|
||||||
|
Loading…
Reference in New Issue
Block a user