ContextThemeWrapper#getContext seems to be an instance of ContextImpl now which is not public API and also not what we want. Directly cast context as SettingsActivity which seems to work exactly how we need this to. Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
28 lines
774 B
Java
28 lines
774 B
Java
/*
|
|
* Copyright © 2017-2019 WireGuard LLC. All Rights Reserved.
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
package com.wireguard.android.util;
|
|
|
|
import android.content.Context;
|
|
import androidx.preference.Preference;
|
|
import android.view.ContextThemeWrapper;
|
|
|
|
import com.wireguard.android.activity.SettingsActivity;
|
|
|
|
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;
|
|
}
|
|
}
|