diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/src/main/AndroidManifest.xml | 5 | ||||
-rw-r--r-- | app/src/main/java/com/camilstaps/rushhour/FinishedActivity.java | 41 | ||||
-rwxr-xr-x | app/src/main/java/com/camilstaps/rushhour/GamePlayActivity.java | 10 | ||||
-rw-r--r-- | app/src/main/java/com/camilstaps/rushhour/MainActivity.java | 7 | ||||
-rw-r--r-- | app/src/main/res/layout/activity_main.xml | 20 | ||||
-rw-r--r-- | app/src/main/res/values/strings.xml | 6 |
6 files changed, 62 insertions, 27 deletions
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 3ff025c..d33a9f7 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -11,8 +11,7 @@ android:name=".GamePlayActivity" android:configChanges="orientation|keyboardHidden|screenSize" android:label="@string/app_name" - android:screenOrientation="portrait" - android:theme="@style/FullscreenTheme" > + android:screenOrientation="portrait"> </activity> <activity android:name=".MainActivity" @@ -21,12 +20,12 @@ android:screenOrientation="portrait" > <intent-filter> <action android:name="android.intent.action.MAIN" /> - <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".FinishedActivity" + android:screenOrientation="portrait" android:label="@string/title_activity_finished" > </activity> </application> diff --git a/app/src/main/java/com/camilstaps/rushhour/FinishedActivity.java b/app/src/main/java/com/camilstaps/rushhour/FinishedActivity.java index 9c092a3..3e441b1 100644 --- a/app/src/main/java/com/camilstaps/rushhour/FinishedActivity.java +++ b/app/src/main/java/com/camilstaps/rushhour/FinishedActivity.java @@ -4,6 +4,7 @@ import android.app.Activity; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; +import android.content.Intent; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.text.Editable; @@ -35,19 +36,21 @@ public class FinishedActivity extends ActionBarActivity { final HighScoreList list = new HighScoreList(this); - final int score = getIntent().getIntExtra("score", Integer.MAX_VALUE); - final EditText input = new EditText(this); - new AlertDialog.Builder(this) - .setTitle("Enter name") - .setView(input) - .setPositiveButton("Ok", new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int whichButton) { - Editable value = input.getText(); - list.addToList(new HighScore(score, value.toString())); - list.save(context); - } - }) - .show(); + final int score = getIntent().getIntExtra("score", -1); + if (score != -1) { + final EditText input = new EditText(this); + new AlertDialog.Builder(this) + .setTitle("Enter name") + .setView(input) + .setPositiveButton("Ok", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int whichButton) { + Editable value = input.getText(); + list.addToList(new HighScore(score, value.toString())); + list.save(context); + } + }) + .show(); + } ListView highscoresListView = (ListView) findViewById(R.id.highscoresListView); @@ -56,6 +59,18 @@ public class FinishedActivity extends ActionBarActivity { highscoresListView.setAdapter(arrayAdapter); } + @Override + public void onBackPressed() { + // See http://stackoverflow.com/a/13483049/1544337 + Intent intent = new Intent(); + if (getParent() == null) { + setResult(Activity.RESULT_OK, intent); + } else { + getParent().setResult(Activity.RESULT_OK, intent); + } + finish(); + } + private class HighScoreAdapter extends ArrayAdapter<HighScore> { Context context; int layoutResourceId; diff --git a/app/src/main/java/com/camilstaps/rushhour/GamePlayActivity.java b/app/src/main/java/com/camilstaps/rushhour/GamePlayActivity.java index dd3bafe..0b77edd 100755 --- a/app/src/main/java/com/camilstaps/rushhour/GamePlayActivity.java +++ b/app/src/main/java/com/camilstaps/rushhour/GamePlayActivity.java @@ -56,6 +56,14 @@ public class GamePlayActivity extends Activity implements Board.SolveListener { board.setSolveListener(this); } + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + // See http://stackoverflow.com/a/13483049/1544337 + if (resultCode == Activity.RESULT_OK) { + finish(); + } + } + /** * Load sounds; start background music */ @@ -78,6 +86,6 @@ public class GamePlayActivity extends Activity implements Board.SolveListener { public void onSolve(int score) { Intent intent = new Intent(this, FinishedActivity.class); intent.putExtra("score", score); - startActivity(intent); + startActivityForResult(intent, 0); } } diff --git a/app/src/main/java/com/camilstaps/rushhour/MainActivity.java b/app/src/main/java/com/camilstaps/rushhour/MainActivity.java index d0cf5c2..1659498 100644 --- a/app/src/main/java/com/camilstaps/rushhour/MainActivity.java +++ b/app/src/main/java/com/camilstaps/rushhour/MainActivity.java @@ -15,9 +15,14 @@ public class MainActivity extends ActionBarActivity { } public void onClickHandler(View v) { + Intent intent; switch (v.getId()) { case R.id.action_start: - Intent intent = new Intent(this, GamePlayActivity.class); + intent = new Intent(this, GamePlayActivity.class); + startActivity(intent); + break; + case R.id.action_highscores: + intent = new Intent(this, FinishedActivity.class); startActivity(intent); break; } diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 8dcf3c0..c85e517 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,10 +1,13 @@ -<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" - android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + tools:context="com.camilstaps.rushhour.MainActivity" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" - tools:context="com.camilstaps.rushhour.MainActivity"> + android:orientation="horizontal"> <Button android:layout_width="wrap_content" @@ -13,4 +16,11 @@ android:text="@string/action_start" android:onClick="onClickHandler"/> -</RelativeLayout> + <Button + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:id="@+id/action_highscores" + android:text="@string/action_highscores" + android:onClick="onClickHandler"/> + +</LinearLayout> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c46740f..14b245c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -2,8 +2,6 @@ <string name="app_name">Rush Hour</string> <string name="title_activity_main">@string/app_name</string> <string name="action_start">Start</string> - <string name="title_activity_finished">FinishedActivity</string> - - <string name="hello_world">Hello world!</string> - <string name="action_settings">Settings</string> + <string name="action_highscores">Highscores</string> + <string name="title_activity_finished">Finished!</string> </resources> |