commit 2fad84a78a076e3b3cdb64a805518a90244d613f
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Mon Apr 13 21:22:13 2020 +0100

    Move to AndroidX, target API level 29.

diff --git a/build.gradle b/build.gradle
index c54c8a9..3b7c04e 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,12 +1,12 @@
 apply plugin: 'com.android.application'
 
 android {
-    compileSdkVersion 27
+    compileSdkVersion 29
 
     defaultConfig {
         applicationId "org.distorted.examples"
         minSdkVersion 21
-        targetSdkVersion 27
+        targetSdkVersion 29
         versionCode 1
         versionName "1.0"
     }
@@ -21,7 +21,7 @@ android {
 
 dependencies {
     api project(':distorted-library')
-    implementation 'com.android.support:support-v4:27.1.1'
-    implementation 'com.android.support:support-v13:27.1.1'
-    implementation 'com.android.support:design:27.1.1'
+    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
+    implementation 'androidx.legacy:legacy-support-v13:1.0.0'
+    implementation 'com.google.android.material:material:1.1.0'
 }
diff --git a/src/main/java/org/distorted/examples/generic/GenericActivity2.java b/src/main/java/org/distorted/examples/generic/GenericActivity2.java
index cedbd7c..67671a5 100644
--- a/src/main/java/org/distorted/examples/generic/GenericActivity2.java
+++ b/src/main/java/org/distorted/examples/generic/GenericActivity2.java
@@ -25,8 +25,8 @@ import android.graphics.Canvas;
 import android.graphics.Paint;
 import android.opengl.GLSurfaceView;
 import android.os.Bundle;
-import android.support.design.widget.TabLayout;
-import android.support.v7.app.AppCompatActivity;
+import com.google.android.material.tabs.TabLayout;
+import androidx.appcompat.app.AppCompatActivity;
 import android.view.View;
 import android.widget.CheckBox;
 
diff --git a/src/main/java/org/distorted/examples/generic/GenericTab.java b/src/main/java/org/distorted/examples/generic/GenericTab.java
index 365dc7d..d4c2ad5 100644
--- a/src/main/java/org/distorted/examples/generic/GenericTab.java
+++ b/src/main/java/org/distorted/examples/generic/GenericTab.java
@@ -20,8 +20,8 @@
 package org.distorted.examples.generic;
 
 import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.v4.app.Fragment;
+import androidx.annotation.NonNull;
+import androidx.fragment.app.Fragment;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -172,7 +172,7 @@ public class GenericTab extends Fragment implements AdapterView.OnItemSelectedLi
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  void newEffect()
+  private void newEffect()
     {
     GenericActivity2 act = (GenericActivity2)getActivity();
     GenericEffect eff = new GenericEffect(mEffectNames[mEffectAdd], act );
@@ -223,7 +223,7 @@ public class GenericTab extends Fragment implements AdapterView.OnItemSelectedLi
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  void removeAll()
+  private void removeAll()
     {
     GenericActivity2 act = (GenericActivity2)getActivity();
 
@@ -244,7 +244,7 @@ public class GenericTab extends Fragment implements AdapterView.OnItemSelectedLi
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  void remove(View v)
+  private void remove(View v)
     {
     for(GenericEffect effect: mList)
       {
@@ -287,17 +287,17 @@ public class GenericTab extends Fragment implements AdapterView.OnItemSelectedLi
 
     int numEffects=0;
 
-    for(int i=0; i<names.length; i++)
-      if( names[i].getType() == type ) numEffects++;
+    for( EffectName name: names )
+      if( name.getType() == type ) numEffects++;
 
     mEffectNames = new EffectName[numEffects];
 
     numEffects=0;
 
-    for(int i=0; i<names.length; i++)
-      if( names[i].getType() == type )
+    for( EffectName name: names )
+      if( name.getType() == type )
         {
-        mEffectNames[numEffects++] = names[i];
+        mEffectNames[numEffects++] = name;
         }
     }
   }
diff --git a/src/main/java/org/distorted/examples/generic/GenericViewPager.java b/src/main/java/org/distorted/examples/generic/GenericViewPager.java
index 0037681..470f102 100644
--- a/src/main/java/org/distorted/examples/generic/GenericViewPager.java
+++ b/src/main/java/org/distorted/examples/generic/GenericViewPager.java
@@ -20,11 +20,14 @@
 package org.distorted.examples.generic;
 
 import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentManager;
-import android.support.v4.app.FragmentPagerAdapter;
-import android.support.v4.view.ViewPager;
-import android.support.v7.app.AppCompatActivity;
+
+import androidx.annotation.NonNull;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentPagerAdapter;
+
+import androidx.viewpager.widget.ViewPager;
+import androidx.appcompat.app.AppCompatActivity;
 
 import org.distorted.examples.R;
 import org.distorted.library.effect.EffectType;
@@ -50,7 +53,7 @@ class GenericViewPager
   private ViewPager mViewPager;
   private int mCurrentTab;
 
-  private class GenericTabViewPager extends FragmentPagerAdapter
+  private static class GenericTabViewPager extends FragmentPagerAdapter
     {
     GenericTabViewPager(FragmentManager fm)
       {
@@ -58,20 +61,16 @@ class GenericViewPager
       }
 
     @Override
+    @NonNull
     public Fragment getItem(int position)
       {
-      if( position>=0 && position<NUM_TABS )
-        {
-        GenericTab tab = new GenericTab();
+      GenericTab tab = new GenericTab();
 
-        Bundle bundle = new Bundle();
-        bundle.putInt("position", position);
-        tab.setArguments(bundle);
-
-        return tab;
-        }
+      Bundle bundle = new Bundle();
+      bundle.putInt("position", position);
+      tab.setArguments(bundle);
 
-      return null;
+      return tab;
       }
 
     @Override
diff --git a/src/main/java/org/distorted/examples/save/SaveActivity.java b/src/main/java/org/distorted/examples/save/SaveActivity.java
index 3110758..af77626 100644
--- a/src/main/java/org/distorted/examples/save/SaveActivity.java
+++ b/src/main/java/org/distorted/examples/save/SaveActivity.java
@@ -27,7 +27,7 @@ import android.app.Activity;
 import android.content.pm.PackageManager;
 import android.opengl.GLSurfaceView;
 import android.os.Bundle;
-import android.support.v4.app.ActivityCompat;
+import androidx.core.app.ActivityCompat;
 import android.view.View;
 import android.widget.SeekBar;
 
diff --git a/src/main/res/layout/deformlayout.xml b/src/main/res/layout/deformlayout.xml
index d4beaa1..1b8b47d 100644
--- a/src/main/res/layout/deformlayout.xml
+++ b/src/main/res/layout/deformlayout.xml
@@ -64,7 +64,7 @@
                     android:layout_height="wrap_content"
                     android:layout_weight="0.8"
                     android:paddingLeft="15dp"
-                    android:text="Radius"
+                    android:text="@string/radius"
                     android:textAppearance="?android:attr/textAppearanceMedium" />
 
                 <SeekBar
diff --git a/src/main/res/layout/effect1d.xml b/src/main/res/layout/effect1d.xml
index c44e072..ee562c1 100644
--- a/src/main/res/layout/effect1d.xml
+++ b/src/main/res/layout/effect1d.xml
@@ -5,7 +5,7 @@
               android:layout_height="wrap_content"
               android:orientation="vertical">
 
-        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+        <LinearLayout
               android:id="@+id/button1dLayout"
               android:layout_width="match_parent"
               android:layout_height="match_parent"
diff --git a/src/main/res/layout/effect2d.xml b/src/main/res/layout/effect2d.xml
index ee60447..da7c404 100644
--- a/src/main/res/layout/effect2d.xml
+++ b/src/main/res/layout/effect2d.xml
@@ -5,7 +5,7 @@
               android:layout_height="wrap_content"
               android:orientation="vertical">
 
-        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+        <LinearLayout
               android:id="@+id/button2dLayout"
               android:layout_width="match_parent"
               android:layout_height="match_parent"
diff --git a/src/main/res/layout/effect3d.xml b/src/main/res/layout/effect3d.xml
index 11fb4af..e3b91df 100644
--- a/src/main/res/layout/effect3d.xml
+++ b/src/main/res/layout/effect3d.xml
@@ -5,7 +5,7 @@
               android:layout_height="wrap_content"
               android:orientation="vertical">
 
-        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+        <LinearLayout
               android:id="@+id/button3dLayout"
               android:layout_width="match_parent"
               android:layout_height="match_parent"
diff --git a/src/main/res/layout/effect4d.xml b/src/main/res/layout/effect4d.xml
index 0f70757..473d915 100644
--- a/src/main/res/layout/effect4d.xml
+++ b/src/main/res/layout/effect4d.xml
@@ -5,7 +5,7 @@
               android:layout_height="wrap_content"
               android:orientation="vertical">
 
-        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+        <LinearLayout
               android:id="@+id/button4dLayout"
               android:layout_width="match_parent"
               android:layout_height="match_parent"
diff --git a/src/main/res/layout/effect5d.xml b/src/main/res/layout/effect5d.xml
index 732310f..27f6a5a 100644
--- a/src/main/res/layout/effect5d.xml
+++ b/src/main/res/layout/effect5d.xml
@@ -5,7 +5,7 @@
               android:layout_height="wrap_content"
               android:orientation="vertical">
 
-        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+        <LinearLayout
               android:id="@+id/button5dLayout"
               android:layout_width="match_parent"
               android:layout_height="match_parent"
diff --git a/src/main/res/layout/genericlayout.xml b/src/main/res/layout/genericlayout.xml
index 6c4e9ec..a7be7fd 100644
--- a/src/main/res/layout/genericlayout.xml
+++ b/src/main/res/layout/genericlayout.xml
@@ -58,14 +58,14 @@
         android:layout_height="0dp"
         android:layout_weight="1" />
 
-    <android.support.design.widget.TabLayout
+    <com.google.android.material.tabs.TabLayout
         android:id="@+id/generic_sliding_tabs"
         android:layout_width="match_parent"
         android:layout_height="32dp"
         android:theme="@style/Theme.AppCompat.NoActionBar">
-    </android.support.design.widget.TabLayout>
+    </com.google.android.material.tabs.TabLayout>
 
-    <android.support.v4.view.ViewPager
+    <androidx.viewpager.widget.ViewPager
         android:id="@+id/generic_viewpager"
         android:layout_width="match_parent"
         android:layout_height="0dp"
diff --git a/src/main/res/layout/glowlayout.xml b/src/main/res/layout/glowlayout.xml
index fd8b436..d015e76 100644
--- a/src/main/res/layout/glowlayout.xml
+++ b/src/main/res/layout/glowlayout.xml
@@ -23,7 +23,7 @@
                 android:layout_height="wrap_content"
                 android:layout_weight="0.5"
                 android:gravity="center_vertical|center"
-                android:text="@string/glow_radius"
+                android:text="@string/radius"
                 android:textAppearance="?android:attr/textAppearanceMedium" />
 
         <SeekBar
diff --git a/src/main/res/layout/toc_item.xml b/src/main/res/layout/toc_item.xml
index 948186e..9e7efcd 100644
--- a/src/main/res/layout/toc_item.xml
+++ b/src/main/res/layout/toc_item.xml
@@ -5,13 +5,15 @@
 	android:layout_height="wrap_content"
 	android:orientation="horizontal"
 	android:paddingTop="4dp"
-	android:paddingBottom="4dp">    
+	android:paddingBottom="4dp">
+
    	<ImageView
    		android:id="@+id/Image"
    		android:layout_width="wrap_content"
    		android:layout_height="wrap_content"
    		android:layout_margin="8dp"
    		android:background="@drawable/icon_border"/>
+
    	<LinearLayout
    		android:layout_width="0dp"
  		android:layout_height="wrap_content"
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index 08e3a1d..bac2276 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -21,7 +21,7 @@
     <string name="type_fragment">Fragment</string>
     <string name="type_postprocess">Postprocess</string>
 
-    <string name="glow_radius">Radius</string>
+    <string name="radius">Radius</string>
     <string name="glow_alpha">Alpha</string>
     <string name="continu">Continue</string>
     <string name="rows">Rows</string>
