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/LoyaltyCardViewActivity.java b/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java
index b556336c5..50f9d1327 100644
--- a/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java
+++ b/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java
@@ -2,8 +2,11 @@ package protect.card_locker;
import android.app.Activity;
+import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
+import android.content.pm.ActivityInfo;
+import android.content.res.Configuration;
import android.os.Build;
import android.os.Bundle;
import android.support.design.widget.Snackbar;
@@ -53,6 +56,8 @@ public class LoyaltyCardViewActivity extends AppCompatActivity
boolean updateLoyaltyCard;
boolean viewLoyaltyCard;
+ boolean rotationEnabled;
+
DBHelper db;
@Override
@@ -305,6 +310,8 @@ public class LoyaltyCardViewActivity extends AppCompatActivity
getMenuInflater().inflate(R.menu.card_add_menu, menu);
}
+ rotationEnabled = true;
+
return super.onCreateOptionsMenu(menu);
}
@@ -361,6 +368,22 @@ public class LoyaltyCardViewActivity extends AppCompatActivity
finish();
return true;
+ case R.id.action_lock_unlock:
+ if(rotationEnabled)
+ {
+ item.setIcon(R.drawable.ic_lock_outline_white_24dp);
+ item.setTitle(R.string.unlockScreen);
+ setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);
+ }
+ else
+ {
+ item.setIcon(R.drawable.ic_lock_open_white_24dp);
+ item.setTitle(R.string.lockScreen);
+ setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
+ }
+ rotationEnabled = !rotationEnabled;
+ return true;
+
case R.id.action_save:
doSave();
return true;
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/main/res/drawable-hdpi/ic_lock_open_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_lock_open_white_24dp.png
new file mode 100644
index 000000000..6bae68f56
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_lock_open_white_24dp.png differ
diff --git a/app/src/main/res/drawable-hdpi/ic_lock_outline_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_lock_outline_white_24dp.png
new file mode 100644
index 000000000..e53f54186
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_lock_outline_white_24dp.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_lock_open_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_lock_open_white_24dp.png
new file mode 100644
index 000000000..3f47b54cf
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_lock_open_white_24dp.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_lock_outline_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_lock_outline_white_24dp.png
new file mode 100644
index 000000000..13f432fe0
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_lock_outline_white_24dp.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_lock_open_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_lock_open_white_24dp.png
new file mode 100644
index 000000000..cbe9e1cd0
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_lock_open_white_24dp.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_lock_outline_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_lock_outline_white_24dp.png
new file mode 100644
index 000000000..e2d109130
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_lock_outline_white_24dp.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_lock_open_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_lock_open_white_24dp.png
new file mode 100644
index 000000000..1d1b0f4d3
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_lock_open_white_24dp.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_lock_outline_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_lock_outline_white_24dp.png
new file mode 100644
index 000000000..bd2cf4dae
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_lock_outline_white_24dp.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_lock_open_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_lock_open_white_24dp.png
new file mode 100644
index 000000000..8ab410727
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_lock_open_white_24dp.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_lock_outline_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_lock_outline_white_24dp.png
new file mode 100644
index 000000000..de1d564b1
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_lock_outline_white_24dp.png differ
diff --git a/app/src/main/res/menu/card_view_menu.xml b/app/src/main/res/menu/card_view_menu.xml
index 657d80dca..df5498c9e 100644
--- a/app/src/main/res/menu/card_view_menu.xml
+++ b/app/src/main/res/menu/card_view_menu.xml
@@ -2,6 +2,11 @@