commit bca41c80091fa24b5a1dbbeb66c0c31bdcfcccde
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Sun Apr 7 22:37:11 2019 +0100

    Improve the application list.

diff --git a/src/main/java/org/distorted/examples/TableOfContents.java b/src/main/java/org/distorted/examples/TableOfContents.java
index d57cf00..36738d3 100644
--- a/src/main/java/org/distorted/examples/TableOfContents.java
+++ b/src/main/java/org/distorted/examples/TableOfContents.java
@@ -75,10 +75,62 @@ import org.distorted.examples.rubik.RubikActivity;
 
 public class TableOfContents extends ListActivity 
   {
-  private static final String ITEM_IMAGE = "item_image";
-  private static final String ITEM_TITLE = "item_title";
+  private static final String ITEM_IMAGE    = "item_image";
+  private static final String ITEM_TITLE    = "item_title";
   private static final String ITEM_SUBTITLE = "item_subtitle"; 
 
+  private enum Application
+    {
+    MONALISA          (R.drawable.icon_example_monalisa        , R.string.example_monalisa        , R.string.example_monalisa_subtitle        ,         MonaLisaActivity.class),
+    SINK              (R.drawable.icon_example_sink            , R.string.example_sink            , R.string.example_sink_subtitle            ,             SinkActivity.class),
+    BEAN              (R.drawable.icon_example_bean            , R.string.example_bean            , R.string.example_bean_subtitle            ,             BeanActivity.class),
+    PROJECTION        (R.drawable.icon_example_projection      , R.string.example_projection      , R.string.example_projection_subtitle      ,       ProjectionActivity.class),
+    DEFORM            (R.drawable.icon_example_deform          , R.string.example_deform          , R.string.example_deform_subtitle          ,           DeformActivity.class),
+    LISTENER          (R.drawable.icon_example_listener        , R.string.example_listener        , R.string.example_listener_subtitle        ,         ListenerActivity.class),
+    DYNAMIC           (R.drawable.icon_example_dynamic         , R.string.example_dynamic         , R.string.example_dynamic_subtitle         ,          DynamicActivity.class),
+    GIRL              (R.drawable.icon_example_girl            , R.string.example_girl            , R.string.example_girl_subtitle            ,             GirlActivity.class),
+    CATANDDOG         (R.drawable.icon_example_catanddog       , R.string.example_catanddog       , R.string.example_catanddog_subtitle       ,        CatAndDogActivity.class),
+    MOVINGEFFECTS     (R.drawable.icon_example_movingeffects   , R.string.example_movingeffects   , R.string.example_movingeffects_subtitle   ,    MovingEffectsActivity.class),
+    DIFFERENTEFFECTS  (R.drawable.icon_example_differenteffects, R.string.example_differenteffects, R.string.example_differenteffects_subtitle, DifferentEffectsActivity.class),
+    DIFFERENTBITMAPS  (R.drawable.icon_example_differentbitmaps, R.string.example_differentbitmaps, R.string.example_differentbitmaps_subtitle, DifferentBitmapsActivity.class),
+    EFFECTQUEUE       (R.drawable.icon_example_effectqueue     , R.string.example_effectqueue     , R.string.example_effectqueue_subtitle     ,      EffectQueueActivity.class),
+    CHECK             (R.drawable.icon_example_check           , R.string.example_check           , R.string.example_check_subtitle           ,            CheckActivity.class),
+    OBJECTTREE        (R.drawable.icon_example_objecttree      , R.string.example_objecttree      , R.string.example_objecttree_subtitle      ,       ObjectTreeActivity.class),
+    STARWARS          (R.drawable.icon_example_starwars        , R.string.example_starwars        , R.string.example_starwars_subtitle        ,         StarWarsActivity.class),
+    OLIMPIC           (R.drawable.icon_example_olimpic         , R.string.example_olimpic         , R.string.example_olimpic_subtitle         ,          OlimpicActivity.class),
+    QUATERNION        (R.drawable.icon_example_quaternion      , R.string.example_quaternion      , R.string.example_quaternion_subtitle      ,       QuaternionActivity.class),
+    INFLATE           (R.drawable.icon_example_inflate         , R.string.example_inflate         , R.string.example_inflate_subtitle         ,          InflateActivity.class),
+    GENERIC           (R.drawable.icon_example_generic         , R.string.example_generic         , R.string.example_generic_subtitle         ,          GenericActivity.class),
+    PLAINMONALISA     (R.drawable.icon_example_monalisa        , R.string.example_plainmonalisa   , R.string.example_plainmonalisa_subtitle   ,    PlainMonaLisaActivity.class),
+    SAVE              (R.drawable.icon_example_save            , R.string.example_save            , R.string.example_save_subtitle            ,             SaveActivity.class),
+    FLAG              (R.drawable.icon_example_flag            , R.string.example_flag            , R.string.example_flag_subtitle            ,             FlagActivity.class),
+    WIND              (R.drawable.icon_example_wind            , R.string.example_wind            , R.string.example_wind_subtitle            ,             WindActivity.class),
+    AROUNDTHEWORLD    (R.drawable.icon_example_aroundtheworld  , R.string.example_aroundtheworld  , R.string.example_aroundtheworld_subtitle  ,   AroundTheWorldActivity.class),
+    MIRROR            (R.drawable.icon_example_mirror          , R.string.example_mirror          , R.string.example_mirror_subtitle          ,           MirrorActivity.class),
+    STENCIL           (R.drawable.icon_example_stencil         , R.string.example_stencil         , R.string.example_stencil_subtitle         ,          StencilActivity.class),
+    BLUR              (R.drawable.icon_example_blur            , R.string.example_blur            , R.string.example_blur_subtitle            ,             BlurActivity.class),
+    MULTIBLUR         (R.drawable.icon_example_multiblur       , R.string.example_multiblur       , R.string.example_multiblur_subtitle       ,        MultiblurActivity.class),
+    TRIBLUR           (R.drawable.icon_example_triblur         , R.string.example_triblur         , R.string.example_triblur_subtitle         ,          TriblurActivity.class),
+    TRANSPARENCY      (R.drawable.icon_example_transparency    , R.string.example_transparency    , R.string.example_transparency_subtitle    ,     TransparencyActivity.class),
+    POSTPROCESSTREE   (R.drawable.icon_example_postprocesstree , R.string.example_postprocesstree , R.string.example_postprocesstree_subtitle ,  PostprocessTreeActivity.class),
+    GLOW              (R.drawable.icon_example_glow            , R.string.example_glow            , R.string.example_glow_subtitle            ,             GlowActivity.class),
+    MOVINGGLOW        (R.drawable.icon_example_movingglow      , R.string.example_moving_glow     , R.string.example_moving_glow_subtitle     ,       MovingGlowActivity.class),
+    EARTH             (R.drawable.icon_example_earth           , R.string.example_earth           , R.string.example_earth_subtitle           ,            EarthActivity.class),
+    RUBIK             (R.drawable.icon_example_rubik           , R.string.example_rubik           , R.string.example_rubik_subtitle           ,            RubikActivity.class)
+    ;
+
+    final int icon, title, subtitle;
+    final Class<? extends Activity> activity;
+
+    Application(int i, int t, int s, Class<? extends Activity> a)
+      {
+      icon     = i;
+      title    = t;
+      subtitle = s;
+      activity = a;
+      }
+    }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
    
   @Override
@@ -89,334 +141,24 @@ public class TableOfContents extends ListActivity
       
    final List<Map<String, Object>> data = new ArrayList<>();
    final SparseArray<Class<? extends Activity>> activityMapping = new SparseArray<>();
-      
-   int i = 0;
 
-   {
-      final Map<String, Object> item = new HashMap<>();
-      item.put(ITEM_IMAGE, R.drawable.icon_example_monalisa);
-      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_monalisa));
-      item.put(ITEM_SUBTITLE, getText(R.string.example_monalisa_subtitle));
-      data.add(item);
-      activityMapping.put(i++, MonaLisaActivity.class);        
-   }
-      
-   {
-      final Map<String, Object> item = new HashMap<>();
-      item.put(ITEM_IMAGE, R.drawable.icon_example_sink);
-      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_sink));
-      item.put(ITEM_SUBTITLE, getText(R.string.example_sink_subtitle));
-      data.add(item);
-      activityMapping.put(i++, SinkActivity.class);
-   }
-   
-   {
-      final Map<String, Object> item = new HashMap<>();
-      item.put(ITEM_IMAGE, R.drawable.icon_example_bean);
-      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_bean));
-      item.put(ITEM_SUBTITLE, getText(R.string.example_bean_subtitle));
-      data.add(item);
-      activityMapping.put(i++, BeanActivity.class);
-   }
-   
-   {
-      final Map<String, Object> item = new HashMap<>();
-      item.put(ITEM_IMAGE, R.drawable.icon_example_projection);
-      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_projection));
-      item.put(ITEM_SUBTITLE, getText(R.string.example_projection_subtitle));
-      data.add(item);
-      activityMapping.put(i++, ProjectionActivity.class);
-   }
-         
-   {
-      final Map<String, Object> item = new HashMap<>();
-      item.put(ITEM_IMAGE, R.drawable.icon_example_deform);
-      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_deform));
-      item.put(ITEM_SUBTITLE, getText(R.string.example_deform_subtitle));
-      data.add(item);
-      activityMapping.put(i++, DeformActivity.class);
-   }
-  
-   {
-      final Map<String, Object> item = new HashMap<>();
-      item.put(ITEM_IMAGE, R.drawable.icon_example_listener);
-      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_listener));
-      item.put(ITEM_SUBTITLE, getText(R.string.example_listener_subtitle));
-      data.add(item);
-      activityMapping.put(i++, ListenerActivity.class);
-   }
-   
-   {
-      final Map<String, Object> item = new HashMap<>();
-      item.put(ITEM_IMAGE, R.drawable.icon_example_dynamic);
-      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_dynamic));
-      item.put(ITEM_SUBTITLE, getText(R.string.example_dynamic_subtitle));
-      data.add(item);
-      activityMapping.put(i++, DynamicActivity.class);
-   }
-   
-   {
-      final Map<String, Object> item = new HashMap<>();
-      item.put(ITEM_IMAGE, R.drawable.icon_example_girl);
-      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_girl));
-      item.put(ITEM_SUBTITLE, getText(R.string.example_girl_subtitle));
-      data.add(item);
-      activityMapping.put(i++, GirlActivity.class);
-   }
-   
-   {
-      final Map<String, Object> item = new HashMap<>();
-      item.put(ITEM_IMAGE, R.drawable.icon_example_macroblock);
-      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_macroblock));
-      item.put(ITEM_SUBTITLE, getText(R.string.example_macroblock_subtitle));
-      data.add(item);
-      activityMapping.put(i++, CatAndDogActivity.class);
-   }
-   
-   {
-      final Map<String, Object> item = new HashMap<>();
-      item.put(ITEM_IMAGE, R.drawable.icon_example_movingeffects);
-      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_movingeffects));
-      item.put(ITEM_SUBTITLE, getText(R.string.example_movingeffects_subtitle));
-      data.add(item);
-      activityMapping.put(i++, MovingEffectsActivity.class);
-   }
-   
-   {
-      final Map<String, Object> item = new HashMap<>();
-      item.put(ITEM_IMAGE, R.drawable.icon_example_differenteffects);
-      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_differenteffects));
-      item.put(ITEM_SUBTITLE, getText(R.string.example_differenteffects_subtitle));
-      data.add(item);
-      activityMapping.put(i++, DifferentEffectsActivity.class);
-   }
-   
-   {
-      final Map<String, Object> item = new HashMap<>();
-      item.put(ITEM_IMAGE, R.drawable.icon_example_differentbitmaps);
-      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_differentbitmaps));
-      item.put(ITEM_SUBTITLE, getText(R.string.example_differentbitmaps_subtitle));
-      data.add(item);
-      activityMapping.put(i++, DifferentBitmapsActivity.class);
-   }
-   
-   {
-      final Map<String, Object> item = new HashMap<>();
-      item.put(ITEM_IMAGE, R.drawable.icon_example_effectqueue);
-      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_effectqueue));
-      item.put(ITEM_SUBTITLE, getText(R.string.example_effectqueue_subtitle));
-      data.add(item);
-      activityMapping.put(i++, EffectQueueActivity.class);
-   }
-   
-   {
-      final Map<String, Object> item = new HashMap<>();
-      item.put(ITEM_IMAGE, R.drawable.icon_example_check);
-      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_check));
-      item.put(ITEM_SUBTITLE, getText(R.string.example_check_subtitle));
-      data.add(item);
-      activityMapping.put(i++, CheckActivity.class);
-   }
-   
-   {
-      final Map<String, Object> item = new HashMap<>();
-      item.put(ITEM_IMAGE, R.drawable.icon_example_fbo);
-      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_objecttree));
-      item.put(ITEM_SUBTITLE, getText(R.string.example_objecttree_subtitle));
-      data.add(item);
-      activityMapping.put(i++, ObjectTreeActivity.class);
-   }
-      
-   {
-      final Map<String, Object> item = new HashMap<>();
-      item.put(ITEM_IMAGE, R.drawable.icon_example_starwars);
-      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_starwars));
-      item.put(ITEM_SUBTITLE, getText(R.string.example_starwars_subtitle));
-      data.add(item);
-      activityMapping.put(i++, StarWarsActivity.class);
-   }
-         
-   {
-      final Map<String, Object> item = new HashMap<>();
-      item.put(ITEM_IMAGE, R.drawable.icon_example_olimpic);
-      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_olimpic));
-      item.put(ITEM_SUBTITLE, getText(R.string.example_olimpic_subtitle));
-      data.add(item);
-      activityMapping.put(i++, OlimpicActivity.class);
-   }
-   
-   {
-      final Map<String, Object> item = new HashMap<>();
-      item.put(ITEM_IMAGE, R.drawable.icon_example_quaternion);
-      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_quaternion));
-      item.put(ITEM_SUBTITLE, getText(R.string.example_quaternion_subtitle));
-      data.add(item);
-      activityMapping.put(i++, QuaternionActivity.class);
-   }
-   
-   {
-      final Map<String, Object> item = new HashMap<>();
-      item.put(ITEM_IMAGE, R.drawable.icon_example_cubes);
-      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_inflate));
-      item.put(ITEM_SUBTITLE, getText(R.string.example_inflate_subtitle));
-      data.add(item);
-      activityMapping.put(i++, InflateActivity.class);
-   }
-
-   {
-      final Map<String, Object> item = new HashMap<>();
-      item.put(ITEM_IMAGE, R.drawable.icon_example_effects3d);
-      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_effects3d));
-      item.put(ITEM_SUBTITLE, getText(R.string.example_effects3d_subtitle));
-      data.add(item);
-      activityMapping.put(i++, GenericActivity.class);
-   }
-
-   {
-      final Map<String, Object> item = new HashMap<>();
-      item.put(ITEM_IMAGE, R.drawable.icon_example_monalisa);
-      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_plainmonalisa));
-      item.put(ITEM_SUBTITLE, getText(R.string.example_plainmonalisa_subtitle));
-      data.add(item);
-      activityMapping.put(i++, PlainMonaLisaActivity.class);
-   }
-
-   {
-      final Map<String, Object> item = new HashMap<>();
-      item.put(ITEM_IMAGE, R.drawable.icon_example_girl);
-      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_save));
-      item.put(ITEM_SUBTITLE, getText(R.string.example_save_subtitle));
-      data.add(item);
-      activityMapping.put(i++, SaveActivity.class);
-   }
-
-   {
-      final Map<String, Object> item = new HashMap<>();
-      item.put(ITEM_IMAGE, R.drawable.icon_example_flag);
-      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_flag));
-      item.put(ITEM_SUBTITLE, getText(R.string.example_flag_subtitle));
-      data.add(item);
-      activityMapping.put(i++, FlagActivity.class);
-   }
-
-   {
-      final Map<String, Object> item = new HashMap<>();
-      item.put(ITEM_IMAGE, R.drawable.icon_example_wind);
-      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_wind));
-      item.put(ITEM_SUBTITLE, getText(R.string.example_wind_subtitle));
-      data.add(item);
-      activityMapping.put(i++, WindActivity.class);
-   }
-
-   {
-      final Map<String, Object> item = new HashMap<>();
-      item.put(ITEM_IMAGE, R.drawable.icon_example_aroundtheworld);
-      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_aroundtheworld));
-      item.put(ITEM_SUBTITLE, getText(R.string.example_aroundtheworld_subtitle));
-      data.add(item);
-      activityMapping.put(i++, AroundTheWorldActivity.class);
-   }
-
-   {
-      final Map<String, Object> item = new HashMap<>();
-      item.put(ITEM_IMAGE, R.drawable.icon_example_mirror);
-      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_mirror));
-      item.put(ITEM_SUBTITLE, getText(R.string.example_mirror_subtitle));
-      data.add(item);
-      activityMapping.put(i++, MirrorActivity.class);
-   }
-
-   {
-      final Map<String, Object> item = new HashMap<>();
-      item.put(ITEM_IMAGE, R.drawable.icon_example_stencil);
-      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_stencil));
-      item.put(ITEM_SUBTITLE, getText(R.string.example_stencil_subtitle));
-      data.add(item);
-      activityMapping.put(i++, StencilActivity.class);
-   }
-
-   {
-      final Map<String, Object> item = new HashMap<>();
-      item.put(ITEM_IMAGE, R.drawable.icon_example_blur);
-      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_blur));
-      item.put(ITEM_SUBTITLE, getText(R.string.example_blur_subtitle));
-      data.add(item);
-      activityMapping.put(i++, BlurActivity.class);
-   }
-
-   {
-      final Map<String, Object> item = new HashMap<>();
-      item.put(ITEM_IMAGE, R.drawable.icon_example_multiblur);
-      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_multiblur));
-      item.put(ITEM_SUBTITLE, getText(R.string.example_multiblur_subtitle));
-      data.add(item);
-      activityMapping.put(i++, MultiblurActivity.class);
-   }
-
-   {
-      final Map<String, Object> item = new HashMap<>();
-      item.put(ITEM_IMAGE, R.drawable.icon_example_triblur);
-      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_triblur));
-      item.put(ITEM_SUBTITLE, getText(R.string.example_triblur_subtitle));
-      data.add(item);
-      activityMapping.put(i++, TriblurActivity.class);
-   }
-
-   {
-      final Map<String, Object> item = new HashMap<>();
-      item.put(ITEM_IMAGE, R.drawable.icon_example_transparency);
-      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_transparency));
-      item.put(ITEM_SUBTITLE, getText(R.string.example_transparency_subtitle));
-      data.add(item);
-      activityMapping.put(i++, TransparencyActivity.class);
-   }
-
-   {
-      final Map<String, Object> item = new HashMap<>();
-      item.put(ITEM_IMAGE, R.drawable.icon_example_postprocesstree);
-      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_postprocesstree));
-      item.put(ITEM_SUBTITLE, getText(R.string.example_postprocesstree_subtitle));
-      data.add(item);
-      activityMapping.put(i++, PostprocessTreeActivity.class);
-   }
+   int index=0;
 
-   {
-      final Map<String, Object> item = new HashMap<>();
-      item.put(ITEM_IMAGE, R.drawable.icon_example_glow);
-      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_glow));
-      item.put(ITEM_SUBTITLE, getText(R.string.example_glow_subtitle));
-      data.add(item);
-      activityMapping.put(i++, GlowActivity.class);
-   }
-
-   {
-      final Map<String, Object> item = new HashMap<>();
-      item.put(ITEM_IMAGE, R.drawable.icon_example_movingglow);
-      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_moving_glow));
-      item.put(ITEM_SUBTITLE, getText(R.string.example_moving_glow_subtitle));
-      data.add(item);
-      activityMapping.put(i++, MovingGlowActivity.class);
-   }
-
-   {
-   final Map<String, Object> item = new HashMap<>();
-   item.put(ITEM_IMAGE, R.drawable.icon_example_earth);
-   item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_earth));
-   item.put(ITEM_SUBTITLE, getText(R.string.example_earth_subtitle));
-   data.add(item);
-   activityMapping.put(i++, EarthActivity.class);
-   }
-
-   {
-   final Map<String, Object> item = new HashMap<>();
-   item.put(ITEM_IMAGE, R.drawable.icon_example_rubik);
-   item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_rubik));
-   item.put(ITEM_SUBTITLE, getText(R.string.example_rubik_subtitle));
-   data.add(item);
-   activityMapping.put(i++, RubikActivity.class);
-   }
-
-   final SimpleAdapter dataAdapter = new SimpleAdapter(this, data, R.layout.toc_item, new String[] {ITEM_IMAGE, ITEM_TITLE, ITEM_SUBTITLE}, new int[] {R.id.Image, R.id.Title, R.id.SubTitle});
+   for( Application app : Application.values() )
+     {
+     final Map<String, Object> item = new HashMap<>();
+     item.put(ITEM_IMAGE, app.icon);
+     item.put(ITEM_TITLE, (index+1)+". "+getText(app.title));
+     item.put(ITEM_SUBTITLE, getText(app.subtitle));
+     data.add(item);
+     activityMapping.put(index++, app.activity);
+     }
+
+   final SimpleAdapter dataAdapter = new SimpleAdapter( this,
+                                                        data,
+                                                        R.layout.toc_item,
+                                                        new String[] {ITEM_IMAGE, ITEM_TITLE, ITEM_SUBTITLE},
+                                                        new int[] {R.id.Image, R.id.Title, R.id.SubTitle}  );
    setListAdapter(dataAdapter);  
       
    getListView().setOnItemClickListener(new OnItemClickListener() 
diff --git a/src/main/res/drawable-hdpi/icon_example_catanddog.png b/src/main/res/drawable-hdpi/icon_example_catanddog.png
new file mode 100644
index 0000000..d03d981
Binary files /dev/null and b/src/main/res/drawable-hdpi/icon_example_catanddog.png differ
diff --git a/src/main/res/drawable-hdpi/icon_example_cubes.png b/src/main/res/drawable-hdpi/icon_example_cubes.png
deleted file mode 100644
index 4711789..0000000
Binary files a/src/main/res/drawable-hdpi/icon_example_cubes.png and /dev/null differ
diff --git a/src/main/res/drawable-hdpi/icon_example_effects3d.png b/src/main/res/drawable-hdpi/icon_example_effects3d.png
deleted file mode 100644
index a378eea..0000000
Binary files a/src/main/res/drawable-hdpi/icon_example_effects3d.png and /dev/null differ
diff --git a/src/main/res/drawable-hdpi/icon_example_fbo.png b/src/main/res/drawable-hdpi/icon_example_fbo.png
deleted file mode 100644
index 5415d56..0000000
Binary files a/src/main/res/drawable-hdpi/icon_example_fbo.png and /dev/null differ
diff --git a/src/main/res/drawable-hdpi/icon_example_generic.png b/src/main/res/drawable-hdpi/icon_example_generic.png
new file mode 100644
index 0000000..a378eea
Binary files /dev/null and b/src/main/res/drawable-hdpi/icon_example_generic.png differ
diff --git a/src/main/res/drawable-hdpi/icon_example_inflate.png b/src/main/res/drawable-hdpi/icon_example_inflate.png
new file mode 100644
index 0000000..4711789
Binary files /dev/null and b/src/main/res/drawable-hdpi/icon_example_inflate.png differ
diff --git a/src/main/res/drawable-hdpi/icon_example_macroblock.png b/src/main/res/drawable-hdpi/icon_example_macroblock.png
deleted file mode 100644
index d03d981..0000000
Binary files a/src/main/res/drawable-hdpi/icon_example_macroblock.png and /dev/null differ
diff --git a/src/main/res/drawable-hdpi/icon_example_matrix3d.png b/src/main/res/drawable-hdpi/icon_example_matrix3d.png
deleted file mode 100644
index 8074c9b..0000000
Binary files a/src/main/res/drawable-hdpi/icon_example_matrix3d.png and /dev/null differ
diff --git a/src/main/res/drawable-hdpi/icon_example_objecttree.png b/src/main/res/drawable-hdpi/icon_example_objecttree.png
new file mode 100644
index 0000000..5415d56
Binary files /dev/null and b/src/main/res/drawable-hdpi/icon_example_objecttree.png differ
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index 0ca6aa1..45f9de3 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -128,8 +128,8 @@
     <string name="example_dynamic_subtitle">Not an effect in itself, but rather a building block for other effects.</string>
     <string name="example_girl">Girl</string>
     <string name="example_girl_subtitle">Distort, Sink and Swirl effects all in one.</string>
-    <string name="example_macroblock">Cat and Dog</string>
-    <string name="example_macroblock_subtitle">Chroma, Transparency and Rotation effects.</string>
+    <string name="example_catanddog">Cat and Dog</string>
+    <string name="example_catanddog_subtitle">Chroma, Transparency and Rotation effects.</string>
     <string name="example_movingeffects">Moving Effects</string>
     <string name="example_movingeffects_subtitle">Use the Interpolator to move effects around.</string>
     <string name="example_differenteffects">Different Effects</string>
@@ -150,8 +150,8 @@
     <string name="example_inflate_subtitle">Test inflating Meshes and rendering them with OIT mode.</string>
     <string name="example_quaternion">Quaternion</string>
     <string name="example_quaternion_subtitle">Random rotations using quaternions.</string>
-    <string name="example_effects3d">Generic Test</string>
-    <string name="example_effects3d_subtitle">Apply any Effect to a 3D object.</string>
+    <string name="example_generic">Generic Test</string>
+    <string name="example_generic_subtitle">Apply any Effect to a 3D object.</string>
     <string name="example_plainmonalisa">SurfaceView</string>
     <string name="example_plainmonalisa_subtitle">MonaLisa rendered on a plain SurfaceView</string>
     <string name="example_save">Save to PNG</string>
