util: Start converting to Kotlin
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
parent
4d6837ea53
commit
b2bbaf050c
@ -1,36 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright © 2017-2019 WireGuard LLC. All Rights Reserved.
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.wireguard.android.util;
|
|
||||||
|
|
||||||
import android.util.Log;
|
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import java9.util.function.BiConsumer;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Helpers for logging exceptions from asynchronous tasks. These can be passed to
|
|
||||||
* {@code CompletionStage.whenComplete()} at the end of an asynchronous future chain.
|
|
||||||
*/
|
|
||||||
|
|
||||||
public enum ExceptionLoggers implements BiConsumer<Object, Throwable> {
|
|
||||||
D(Log.DEBUG),
|
|
||||||
E(Log.ERROR);
|
|
||||||
|
|
||||||
private static final String TAG = "WireGuard/" + ExceptionLoggers.class.getSimpleName();
|
|
||||||
private final int priority;
|
|
||||||
|
|
||||||
ExceptionLoggers(final int priority) {
|
|
||||||
this.priority = priority;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void accept(final Object result, @Nullable final Throwable throwable) {
|
|
||||||
if (throwable != null)
|
|
||||||
Log.println(Log.ERROR, TAG, Log.getStackTraceString(throwable));
|
|
||||||
else if (priority <= Log.DEBUG)
|
|
||||||
Log.println(priority, TAG, "Future completed successfully");
|
|
||||||
}
|
|
||||||
}
|
|
@ -0,0 +1,27 @@
|
|||||||
|
/*
|
||||||
|
* Copyright © 2017-2019 WireGuard LLC. All Rights Reserved.
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
package com.wireguard.android.util
|
||||||
|
|
||||||
|
import android.util.Log
|
||||||
|
import java9.util.function.BiConsumer
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helpers for logging exceptions from asynchronous tasks. These can be passed to
|
||||||
|
* `CompletionStage.whenComplete()` at the end of an asynchronous future chain.
|
||||||
|
*/
|
||||||
|
enum class ExceptionLoggers(private val priority: Int) : BiConsumer<Any?, Throwable?> {
|
||||||
|
D(Log.DEBUG), E(Log.ERROR);
|
||||||
|
|
||||||
|
override fun accept(result: Any?, throwable: Throwable?) {
|
||||||
|
if (throwable != null)
|
||||||
|
Log.println(Log.ERROR, TAG, Log.getStackTraceString(throwable))
|
||||||
|
else if (priority <= Log.DEBUG)
|
||||||
|
Log.println(priority, TAG, "Future completed successfully")
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
private val TAG = "WireGuard/" + ExceptionLoggers::class.java.simpleName
|
||||||
|
}
|
||||||
|
}
|
@ -1,30 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright © 2017-2019 WireGuard LLC. All Rights Reserved.
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*/
|
|
||||||
package com.wireguard.android.util;
|
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.view.ContextThemeWrapper;
|
|
||||||
|
|
||||||
import com.wireguard.android.activity.SettingsActivity;
|
|
||||||
import com.wireguard.util.NonNullForAll;
|
|
||||||
|
|
||||||
import androidx.preference.Preference;
|
|
||||||
|
|
||||||
@NonNullForAll
|
|
||||||
public final class FragmentUtils {
|
|
||||||
private FragmentUtils() {
|
|
||||||
// Prevent instantiation
|
|
||||||
}
|
|
||||||
|
|
||||||
public static SettingsActivity getPrefActivity(final Preference preference) {
|
|
||||||
final Context context = preference.getContext();
|
|
||||||
if (context instanceof ContextThemeWrapper) {
|
|
||||||
if (context instanceof SettingsActivity) {
|
|
||||||
return ((SettingsActivity) context);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
21
ui/src/main/java/com/wireguard/android/util/FragmentUtils.kt
Normal file
21
ui/src/main/java/com/wireguard/android/util/FragmentUtils.kt
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
/*
|
||||||
|
* Copyright © 2017-2019 WireGuard LLC. All Rights Reserved.
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
package com.wireguard.android.util
|
||||||
|
|
||||||
|
import android.view.ContextThemeWrapper
|
||||||
|
import androidx.preference.Preference
|
||||||
|
import com.wireguard.android.activity.SettingsActivity
|
||||||
|
|
||||||
|
object FragmentUtils {
|
||||||
|
fun getPrefActivity(preference: Preference): SettingsActivity {
|
||||||
|
val context = preference.context
|
||||||
|
if (context is ContextThemeWrapper) {
|
||||||
|
if (context is SettingsActivity) {
|
||||||
|
return context
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw IllegalStateException("Failed to resolve SettingsActivity")
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user