mirror of
https://github.com/TrianguloY/UrlChecker.git
synced 2024-09-19 20:02:16 +02:00
animations everywhere (can be turned off)
This commit is contained in:
parent
74af92bb08
commit
a6c62b2ca5
@ -29,6 +29,7 @@ import com.trianguloy.urlchecker.modules.list.VirusTotalModule;
|
||||
import com.trianguloy.urlchecker.utilities.AndroidSettings;
|
||||
import com.trianguloy.urlchecker.utilities.generics.GenericPref;
|
||||
import com.trianguloy.urlchecker.utilities.methods.AndroidUtils;
|
||||
import com.trianguloy.urlchecker.utilities.methods.Animations;
|
||||
import com.trianguloy.urlchecker.utilities.methods.JavaUtils;
|
||||
import com.trianguloy.urlchecker.utilities.methods.JavaUtils.Function;
|
||||
import com.trianguloy.urlchecker.utilities.methods.PackageUtils;
|
||||
@ -73,6 +74,8 @@ public class BackupActivity extends Activity {
|
||||
setTitle(R.string.btn_backupRestore);
|
||||
AndroidUtils.configureUp(this);
|
||||
|
||||
Animations.enableAnimationsRecursively(this);
|
||||
|
||||
prefs = GenericPref.getPrefs(this);
|
||||
chk_data = findViewById(R.id.chk_data);
|
||||
chk_data_prefs = findViewById(R.id.chk_data_prefs);
|
||||
|
@ -100,7 +100,7 @@ public class ModulesActivity extends Activity {
|
||||
// inflate
|
||||
View parent = Inflater.inflate(R.layout.config_module, list);
|
||||
parent.setTag(module.getId());
|
||||
Animations.enableAnimations(parent);
|
||||
Animations.enableAnimationsRecursively(parent); // instead of full activity to avoid 'replacing' when reordering
|
||||
|
||||
// configure enable toggle
|
||||
Switch toggleEnable = parent.findViewById(R.id.enable);
|
||||
|
@ -14,6 +14,7 @@ import com.trianguloy.urlchecker.fragments.BrowserButtonsFragment;
|
||||
import com.trianguloy.urlchecker.fragments.ResultCodeInjector;
|
||||
import com.trianguloy.urlchecker.utilities.AndroidSettings;
|
||||
import com.trianguloy.urlchecker.utilities.methods.AndroidUtils;
|
||||
import com.trianguloy.urlchecker.utilities.methods.Animations;
|
||||
import com.trianguloy.urlchecker.utilities.methods.PackageUtils;
|
||||
|
||||
import java.util.Objects;
|
||||
@ -35,6 +36,7 @@ public class SettingsActivity extends Activity {
|
||||
configureBrowserButtons();
|
||||
configureDayNight();
|
||||
configureLocale();
|
||||
Animations.ANIMATIONS(this).attachToSwitch(findViewById(R.id.animations));
|
||||
|
||||
// if this was reloaded, some settings may have change, so reload previous one too
|
||||
if (AndroidSettings.wasReloaded(this)) AndroidSettings.markForReloading(this);
|
||||
|
@ -24,6 +24,7 @@ import com.trianguloy.urlchecker.modules.list.DrawerModule;
|
||||
import com.trianguloy.urlchecker.url.UrlData;
|
||||
import com.trianguloy.urlchecker.utilities.AndroidSettings;
|
||||
import com.trianguloy.urlchecker.utilities.methods.AndroidUtils;
|
||||
import com.trianguloy.urlchecker.utilities.methods.Animations;
|
||||
import com.trianguloy.urlchecker.utilities.methods.Inflater;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -256,6 +257,8 @@ public class MainDialog extends Activity {
|
||||
if (ll_main.getChildCount() == 0) {
|
||||
ll_main.addView(egg()); // ;)
|
||||
}
|
||||
|
||||
Animations.enableAnimationsRecursively(this);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1,26 +1,43 @@
|
||||
package com.trianguloy.urlchecker.utilities.methods;
|
||||
|
||||
import android.animation.LayoutTransition;
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.trianguloy.urlchecker.utilities.generics.GenericPref;
|
||||
|
||||
/**
|
||||
* Animations-related functionality
|
||||
*/
|
||||
public interface Animations {
|
||||
/**
|
||||
* Enables animations for a specific view
|
||||
*/
|
||||
static void enableAnimations(View view) {
|
||||
if (view instanceof ViewGroup) {
|
||||
final LayoutTransition lt = ((ViewGroup) view).getLayoutTransition();
|
||||
if (lt != null) {
|
||||
lt.enableTransitionType(LayoutTransition.CHANGING);
|
||||
} else {
|
||||
AndroidUtils.assertError(view + " doesn't have a LayoutTransition");
|
||||
|
||||
static GenericPref.Bool ANIMATIONS(Context cntx) {
|
||||
return new GenericPref.Bool("animations", true, cntx);
|
||||
}
|
||||
} else {
|
||||
AndroidUtils.assertError(view + " isn't a ViewGroup");
|
||||
|
||||
/**
|
||||
* Enables animations on all views from this activity
|
||||
*/
|
||||
static void enableAnimationsRecursively(Activity cntx) {
|
||||
if (ANIMATIONS(cntx).get()) enableAnimationsRecursively(cntx.findViewById(android.R.id.content));
|
||||
}
|
||||
|
||||
/**
|
||||
* Enables animations from all views starting from this parent
|
||||
*/
|
||||
static void enableAnimationsRecursively(View parent) {
|
||||
if (ANIMATIONS(parent.getContext()).get()) _enableAnimationsRecursively(parent);
|
||||
}
|
||||
|
||||
static void _enableAnimationsRecursively(View view) {
|
||||
if (view instanceof ViewGroup group) {
|
||||
var lt = new LayoutTransition();
|
||||
lt.enableTransitionType(LayoutTransition.CHANGING);
|
||||
group.setLayoutTransition(lt);
|
||||
|
||||
for (var i = 0; i < group.getChildCount(); ++i) _enableAnimationsRecursively(group.getChildAt(i));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -9,7 +9,6 @@
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:animateLayoutChanges="true"
|
||||
android:orientation="vertical"
|
||||
android:padding="@dimen/smallPadding">
|
||||
|
||||
@ -70,7 +69,6 @@
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:animateLayoutChanges="true"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<Button
|
||||
|
@ -87,6 +87,22 @@
|
||||
android:saveEnabled="false" />
|
||||
</LinearLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:paddingTop="@dimen/padding"
|
||||
android:paddingBottom="@dimen/padding">
|
||||
|
||||
<include layout="@layout/separator" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<Switch
|
||||
android:id="@+id/animations"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/txt_animation" />
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
|
@ -2,7 +2,6 @@
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:animateLayoutChanges="true"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
|
@ -4,7 +4,6 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:animateLayoutChanges="true"
|
||||
android:background="@drawable/round_border"
|
||||
android:orientation="vertical"
|
||||
android:paddingTop="5dp"
|
||||
@ -12,8 +11,7 @@
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:animateLayoutChanges="true">
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/label"
|
||||
@ -75,6 +73,7 @@
|
||||
android:adjustViewBounds="true"
|
||||
android:contentDescription="@string/desc_decorations"
|
||||
android:src="@drawable/t" />
|
||||
|
||||
<Switch
|
||||
android:id="@+id/enable"
|
||||
android:layout_width="wrap_content"
|
||||
@ -88,11 +87,11 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/box"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:animateLayoutChanges="true"
|
||||
android:paddingLeft="25dp"
|
||||
android:paddingRight="25dp">
|
||||
|
||||
|
@ -52,6 +52,7 @@ Traducciones: %s."</string>
|
||||
<string name="spin_darkTheme">Oscuro</string>
|
||||
<string name="spin_lightTheme">Claro</string>
|
||||
<string name="txt_locale">Idioma:</string>
|
||||
<string name="txt_animation">Activar animaciones</string>
|
||||
<!--
|
||||
generic
|
||||
-->
|
||||
|
@ -52,6 +52,7 @@ Translations: %s."</string>
|
||||
<string name="spin_darkTheme">Dark</string>
|
||||
<string name="spin_lightTheme">Light</string>
|
||||
<string name="txt_locale">Locale:</string>
|
||||
<string name="txt_animation">Enable animations</string>
|
||||
<string name="btn_tutorialSettings">Repeat tutorial</string>
|
||||
<string name="btn_backupRestore">Backup / Restore</string>
|
||||
<!--
|
||||
|
Loading…
Reference in New Issue
Block a user