discord-jadx/app/src/main/java/androidx/appcompat/app/AppCompatDelegate.java

212 lines
7.3 KiB
Java

package androidx.appcompat.app;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.content.res.Configuration;
import android.os.Bundle;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MenuInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import androidx.annotation.CallSuper;
import androidx.annotation.IdRes;
import androidx.annotation.LayoutRes;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
import androidx.annotation.RestrictTo;
import androidx.annotation.StyleRes;
import androidx.appcompat.app.ActionBarDrawerToggle;
import androidx.appcompat.view.ActionMode;
import androidx.appcompat.widget.Toolbar;
import androidx.appcompat.widget.VectorEnabledTintResources;
import androidx.collection.ArraySet;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.ref.WeakReference;
import java.util.Iterator;
public abstract class AppCompatDelegate {
public static final boolean DEBUG = false;
public static final int FEATURE_ACTION_MODE_OVERLAY = 10;
public static final int FEATURE_SUPPORT_ACTION_BAR = 108;
public static final int FEATURE_SUPPORT_ACTION_BAR_OVERLAY = 109;
@Deprecated
public static final int MODE_NIGHT_AUTO = 0;
public static final int MODE_NIGHT_AUTO_BATTERY = 3;
@Deprecated
public static final int MODE_NIGHT_AUTO_TIME = 0;
public static final int MODE_NIGHT_FOLLOW_SYSTEM = -1;
public static final int MODE_NIGHT_NO = 1;
public static final int MODE_NIGHT_UNSPECIFIED = -100;
public static final int MODE_NIGHT_YES = 2;
public static final String TAG = "AppCompatDelegate";
private static final ArraySet<WeakReference<AppCompatDelegate>> sActivityDelegates = new ArraySet<>();
private static final Object sActivityDelegatesLock = new Object();
private static int sDefaultNightMode = -100;
@Retention(RetentionPolicy.SOURCE)
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
public @interface NightMode {
}
public static void addActiveDelegate(@NonNull AppCompatDelegate appCompatDelegate) {
synchronized (sActivityDelegatesLock) {
removeDelegateFromActives(appCompatDelegate);
sActivityDelegates.add(new WeakReference<>(appCompatDelegate));
}
}
private static void applyDayNightToActiveDelegates() {
synchronized (sActivityDelegatesLock) {
Iterator<WeakReference<AppCompatDelegate>> it = sActivityDelegates.iterator();
while (it.hasNext()) {
AppCompatDelegate appCompatDelegate = it.next().get();
if (appCompatDelegate != null) {
appCompatDelegate.applyDayNight();
}
}
}
}
@NonNull
public static AppCompatDelegate create(@NonNull Activity activity, @Nullable AppCompatCallback appCompatCallback) {
return new AppCompatDelegateImpl(activity, appCompatCallback);
}
@NonNull
public static AppCompatDelegate create(@NonNull Dialog dialog, @Nullable AppCompatCallback appCompatCallback) {
return new AppCompatDelegateImpl(dialog, appCompatCallback);
}
@NonNull
public static AppCompatDelegate create(@NonNull Context context, @NonNull Activity activity, @Nullable AppCompatCallback appCompatCallback) {
return new AppCompatDelegateImpl(context, activity, appCompatCallback);
}
@NonNull
public static AppCompatDelegate create(@NonNull Context context, @NonNull Window window, @Nullable AppCompatCallback appCompatCallback) {
return new AppCompatDelegateImpl(context, window, appCompatCallback);
}
public static int getDefaultNightMode() {
return sDefaultNightMode;
}
public static boolean isCompatVectorFromResourcesEnabled() {
return VectorEnabledTintResources.isCompatVectorFromResourcesEnabled();
}
public static void removeActivityDelegate(@NonNull AppCompatDelegate appCompatDelegate) {
synchronized (sActivityDelegatesLock) {
removeDelegateFromActives(appCompatDelegate);
}
}
private static void removeDelegateFromActives(@NonNull AppCompatDelegate appCompatDelegate) {
synchronized (sActivityDelegatesLock) {
Iterator<WeakReference<AppCompatDelegate>> it = sActivityDelegates.iterator();
while (it.hasNext()) {
AppCompatDelegate appCompatDelegate2 = it.next().get();
if (appCompatDelegate2 == appCompatDelegate || appCompatDelegate2 == null) {
it.remove();
}
}
}
}
public static void setCompatVectorFromResourcesEnabled(boolean z2) {
VectorEnabledTintResources.setCompatVectorFromResourcesEnabled(z2);
}
public static void setDefaultNightMode(int i) {
if (i != -1 && i != 0 && i != 1 && i != 2 && i != 3) {
Log.d(TAG, "setDefaultNightMode() called with an unknown mode");
} else if (sDefaultNightMode != i) {
sDefaultNightMode = i;
applyDayNightToActiveDelegates();
}
}
public abstract void addContentView(View view, ViewGroup.LayoutParams layoutParams);
public abstract boolean applyDayNight();
@Deprecated
public void attachBaseContext(Context context) {
}
@NonNull
@CallSuper
public Context attachBaseContext2(@NonNull Context context) {
attachBaseContext(context);
return context;
}
public abstract View createView(@Nullable View view, String str, @NonNull Context context, @NonNull AttributeSet attributeSet);
@Nullable
public abstract <T extends View> T findViewById(@IdRes int i);
@Nullable
public abstract ActionBarDrawerToggle.Delegate getDrawerToggleDelegate();
public int getLocalNightMode() {
return -100;
}
public abstract MenuInflater getMenuInflater();
@Nullable
public abstract ActionBar getSupportActionBar();
public abstract boolean hasWindowFeature(int i);
public abstract void installViewFactory();
public abstract void invalidateOptionsMenu();
public abstract boolean isHandleNativeActionModesEnabled();
public abstract void onConfigurationChanged(Configuration configuration);
public abstract void onCreate(Bundle bundle);
public abstract void onDestroy();
public abstract void onPostCreate(Bundle bundle);
public abstract void onPostResume();
public abstract void onSaveInstanceState(Bundle bundle);
public abstract void onStart();
public abstract void onStop();
public abstract boolean requestWindowFeature(int i);
public abstract void setContentView(@LayoutRes int i);
public abstract void setContentView(View view);
public abstract void setContentView(View view, ViewGroup.LayoutParams layoutParams);
public abstract void setHandleNativeActionModesEnabled(boolean z2);
@RequiresApi(17)
public abstract void setLocalNightMode(int i);
public abstract void setSupportActionBar(@Nullable Toolbar toolbar);
public void setTheme(@StyleRes int i) {
}
public abstract void setTitle(@Nullable CharSequence charSequence);
@Nullable
public abstract ActionMode startSupportActionMode(@NonNull ActionMode.Callback callback);
}