From 0f2ee296b4e03bf0c6452fe99bb3e4fd90b6bdbf Mon Sep 17 00:00:00 2001 From: Branden Archer Date: Sun, 16 Jul 2017 21:05:58 -0400 Subject: [PATCH] Remove container class for intro slides Even with passing a bundle with the layout ID sometimes some users will encounter a situation where the _layout variable is null. To avoid further issues, creating a class for each intro slide, so the layout is encoded into the class itself. --- app/src/main/AndroidManifest.xml | 2 +- .../protect/card_locker/IntroActivity.java | 43 ------------------- .../protect/card_locker/MainActivity.java | 2 + .../card_locker/intro/IntroActivity.java | 36 ++++++++++++++++ .../card_locker/intro/IntroSlide1.java | 19 ++++++++ .../IntroSlide2.java} | 15 +++---- .../card_locker/intro/IntroSlide3.java | 19 ++++++++ .../card_locker/intro/IntroSlide4.java | 19 ++++++++ .../card_locker/intro/IntroSlide5.java | 19 ++++++++ .../card_locker/intro/IntroSlide6.java | 19 ++++++++ .../protect/card_locker/MainActivityTest.java | 2 +- 11 files changed, 140 insertions(+), 55 deletions(-) delete mode 100644 app/src/main/java/protect/card_locker/IntroActivity.java create mode 100644 app/src/main/java/protect/card_locker/intro/IntroActivity.java create mode 100644 app/src/main/java/protect/card_locker/intro/IntroSlide1.java rename app/src/main/java/protect/card_locker/{IntroSlide.java => intro/IntroSlide2.java} (54%) create mode 100644 app/src/main/java/protect/card_locker/intro/IntroSlide3.java create mode 100644 app/src/main/java/protect/card_locker/intro/IntroSlide4.java create mode 100644 app/src/main/java/protect/card_locker/intro/IntroSlide5.java create mode 100644 app/src/main/java/protect/card_locker/intro/IntroSlide6.java diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ad7ea95a0..e112d6e68 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -49,7 +49,7 @@ android:configChanges="orientation|screenSize" android:theme="@style/AppTheme.NoActionBar"/> diff --git a/app/src/main/java/protect/card_locker/IntroActivity.java b/app/src/main/java/protect/card_locker/IntroActivity.java deleted file mode 100644 index 465f694a7..000000000 --- a/app/src/main/java/protect/card_locker/IntroActivity.java +++ /dev/null @@ -1,43 +0,0 @@ -package protect.card_locker; - -import android.os.Bundle; -import android.support.annotation.LayoutRes; -import android.support.v4.app.Fragment; - -import com.github.paolorotolo.appintro.AppIntro; - - -public class IntroActivity extends AppIntro -{ - @Override - public void init(Bundle savedInstanceState) - { - addIntroSlide(R.layout.intro1_layout); - addIntroSlide(R.layout.intro2_layout); - addIntroSlide(R.layout.intro3_layout); - addIntroSlide(R.layout.intro4_layout); - addIntroSlide(R.layout.intro5_layout); - addIntroSlide(R.layout.intro6_layout); - } - - private void addIntroSlide(@LayoutRes int layout) - { - Fragment slide = new IntroSlide(); - Bundle args = new Bundle(); - args.putInt("layout", layout); - slide.setArguments(args); - addSlide(slide); - } - - @Override - public void onSkipPressed(Fragment fragment) { - finish(); - } - - @Override - public void onDonePressed(Fragment fragment) { - finish(); - } -} - - diff --git a/app/src/main/java/protect/card_locker/MainActivity.java b/app/src/main/java/protect/card_locker/MainActivity.java index 0d7bdf1d7..7eb745794 100644 --- a/app/src/main/java/protect/card_locker/MainActivity.java +++ b/app/src/main/java/protect/card_locker/MainActivity.java @@ -29,6 +29,8 @@ import com.google.common.collect.ImmutableMap; import java.util.Calendar; import java.util.Map; +import protect.card_locker.intro.IntroActivity; + public class MainActivity extends AppCompatActivity { private static final String TAG = "LoyaltyCardLocker"; diff --git a/app/src/main/java/protect/card_locker/intro/IntroActivity.java b/app/src/main/java/protect/card_locker/intro/IntroActivity.java new file mode 100644 index 000000000..04e18cfa3 --- /dev/null +++ b/app/src/main/java/protect/card_locker/intro/IntroActivity.java @@ -0,0 +1,36 @@ +package protect.card_locker.intro; + +import android.os.Bundle; +import android.support.annotation.LayoutRes; +import android.support.v4.app.Fragment; + +import com.github.paolorotolo.appintro.AppIntro; + +import protect.card_locker.R; + + +public class IntroActivity extends AppIntro +{ + @Override + public void init(Bundle savedInstanceState) + { + addSlide(new IntroSlide1()); + addSlide(new IntroSlide2()); + addSlide(new IntroSlide3()); + addSlide(new IntroSlide4()); + addSlide(new IntroSlide5()); + addSlide(new IntroSlide6()); + } + + @Override + public void onSkipPressed(Fragment fragment) { + finish(); + } + + @Override + public void onDonePressed(Fragment fragment) { + finish(); + } +} + + diff --git a/app/src/main/java/protect/card_locker/intro/IntroSlide1.java b/app/src/main/java/protect/card_locker/intro/IntroSlide1.java new file mode 100644 index 000000000..7e53d7652 --- /dev/null +++ b/app/src/main/java/protect/card_locker/intro/IntroSlide1.java @@ -0,0 +1,19 @@ +package protect.card_locker.intro; + +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import protect.card_locker.R; + +public class IntroSlide1 extends Fragment +{ + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) + { + View v = inflater.inflate(R.layout.intro1_layout, container, false); + return v; + } +} diff --git a/app/src/main/java/protect/card_locker/IntroSlide.java b/app/src/main/java/protect/card_locker/intro/IntroSlide2.java similarity index 54% rename from app/src/main/java/protect/card_locker/IntroSlide.java rename to app/src/main/java/protect/card_locker/intro/IntroSlide2.java index 7fff1f357..6ee1952b7 100644 --- a/app/src/main/java/protect/card_locker/IntroSlide.java +++ b/app/src/main/java/protect/card_locker/intro/IntroSlide2.java @@ -1,4 +1,4 @@ -package protect.card_locker; +package protect.card_locker.intro; import android.os.Bundle; import android.support.v4.app.Fragment; @@ -6,20 +6,15 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -public class IntroSlide extends Fragment -{ - int _layout; +import protect.card_locker.R; - @Override - public void setArguments(Bundle bundle) - { - _layout = bundle.getInt("layout"); - } +public class IntroSlide2 extends Fragment +{ @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - View v = inflater.inflate(_layout, container, false); + View v = inflater.inflate(R.layout.intro2_layout, container, false); return v; } } diff --git a/app/src/main/java/protect/card_locker/intro/IntroSlide3.java b/app/src/main/java/protect/card_locker/intro/IntroSlide3.java new file mode 100644 index 000000000..deb6927b0 --- /dev/null +++ b/app/src/main/java/protect/card_locker/intro/IntroSlide3.java @@ -0,0 +1,19 @@ +package protect.card_locker.intro; + +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import protect.card_locker.R; + +public class IntroSlide3 extends Fragment +{ + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) + { + View v = inflater.inflate(R.layout.intro3_layout, container, false); + return v; + } +} diff --git a/app/src/main/java/protect/card_locker/intro/IntroSlide4.java b/app/src/main/java/protect/card_locker/intro/IntroSlide4.java new file mode 100644 index 000000000..d47a5ac8e --- /dev/null +++ b/app/src/main/java/protect/card_locker/intro/IntroSlide4.java @@ -0,0 +1,19 @@ +package protect.card_locker.intro; + +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import protect.card_locker.R; + +public class IntroSlide4 extends Fragment +{ + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) + { + View v = inflater.inflate(R.layout.intro4_layout, container, false); + return v; + } +} diff --git a/app/src/main/java/protect/card_locker/intro/IntroSlide5.java b/app/src/main/java/protect/card_locker/intro/IntroSlide5.java new file mode 100644 index 000000000..6127ab1ba --- /dev/null +++ b/app/src/main/java/protect/card_locker/intro/IntroSlide5.java @@ -0,0 +1,19 @@ +package protect.card_locker.intro; + +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import protect.card_locker.R; + +public class IntroSlide5 extends Fragment +{ + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) + { + View v = inflater.inflate(R.layout.intro5_layout, container, false); + return v; + } +} diff --git a/app/src/main/java/protect/card_locker/intro/IntroSlide6.java b/app/src/main/java/protect/card_locker/intro/IntroSlide6.java new file mode 100644 index 000000000..d3fba4f98 --- /dev/null +++ b/app/src/main/java/protect/card_locker/intro/IntroSlide6.java @@ -0,0 +1,19 @@ +package protect.card_locker.intro; + +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import protect.card_locker.R; + +public class IntroSlide6 extends Fragment +{ + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) + { + View v = inflater.inflate(R.layout.intro6_layout, container, false); + return v; + } +} diff --git a/app/src/test/java/protect/card_locker/MainActivityTest.java b/app/src/test/java/protect/card_locker/MainActivityTest.java index d727fb89d..77c36b672 100644 --- a/app/src/test/java/protect/card_locker/MainActivityTest.java +++ b/app/src/test/java/protect/card_locker/MainActivityTest.java @@ -131,7 +131,7 @@ public class MainActivityTest ComponentName componentName = next.getComponent(); String name = componentName.flattenToShortString(); - assertEquals("protect.card_locker/.IntroActivity", name); + assertEquals("protect.card_locker/.intro.IntroActivity", name); Bundle extras = next.getExtras(); assertNull(extras);