From e8cad4dea3149ae54dec8a13928c194db831f6e7 Mon Sep 17 00:00:00 2001 From: Caleb Fontenot <foley2431@gmail.com> Date: Wed, 7 Feb 2024 10:50:33 -0600 Subject: [PATCH] update files --- .../.idea/gradle.xml | 8 + .../.idea/misc.xml | 3 +- .../app/build.gradle | 14 +- .../ExampleInstrumentedTest.java | 28 --- .../app/src/main/AndroidManifest.xml | 12 +- .../quizchapter2/CheatActivity.java | 94 +++++++++ .../geoquizchapter1/CheatActivity.java | 48 ----- .../example/geoquizchapter1/MainActivity.java | 191 ------------------ .../com/example/geoquizchapter1/Question.java | 33 --- .../src/main/res/drawable-mdpi/arrow_left.png | Bin 3352 -> 0 bytes .../main/res/drawable-mdpi/arrow_right.png | Bin 3361 -> 0 bytes .../main/res/layout-land/activity_main.xml | 121 ++++++----- .../src/main/res/layout/activity_cheat.xml | 67 +++--- .../app/src/main/res/layout/activity_main.xml | 106 ++++++---- .../res/mipmap-anydpi-v26/ic_launcher.xml | 1 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 1 + .../app/src/main/res/values-night/themes.xml | 2 +- .../app/src/main/res/values/strings.xml | 37 ++-- .../app/src/main/res/values/themes.xml | 2 +- .../geoquizchapter1/ExampleUnitTest.java | 19 -- .../build.gradle | 4 +- .../gradle.properties | 3 +- .../gradle/wrapper/gradle-wrapper.properties | 6 +- .../GeoQuizChapter5_TwoActivities/gradlew | 0 .../settings.gradle | 5 +- 25 files changed, 332 insertions(+), 473 deletions(-) delete mode 100644 Assignments/GeoQuizChapter5_TwoActivities/app/src/androidTest/java/com/example/geoquizchapter1/ExampleInstrumentedTest.java create mode 100644 Assignments/GeoQuizChapter5_TwoActivities/app/src/main/java/com/calebfontenot/quizchapter2/CheatActivity.java delete mode 100644 Assignments/GeoQuizChapter5_TwoActivities/app/src/main/java/com/example/geoquizchapter1/CheatActivity.java delete mode 100644 Assignments/GeoQuizChapter5_TwoActivities/app/src/main/java/com/example/geoquizchapter1/MainActivity.java delete mode 100644 Assignments/GeoQuizChapter5_TwoActivities/app/src/main/java/com/example/geoquizchapter1/Question.java delete mode 100644 Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/drawable-mdpi/arrow_left.png delete mode 100644 Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/drawable-mdpi/arrow_right.png delete mode 100644 Assignments/GeoQuizChapter5_TwoActivities/app/src/test/java/com/example/geoquizchapter1/ExampleUnitTest.java mode change 100644 => 100755 Assignments/GeoQuizChapter5_TwoActivities/gradlew diff --git a/Assignments/GeoQuizChapter5_TwoActivities/.idea/gradle.xml b/Assignments/GeoQuizChapter5_TwoActivities/.idea/gradle.xml index 89935b5..b2302f7 100644 --- a/Assignments/GeoQuizChapter5_TwoActivities/.idea/gradle.xml +++ b/Assignments/GeoQuizChapter5_TwoActivities/.idea/gradle.xml @@ -1,10 +1,18 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> + <component name="GradleMigrationSettings" migrationVersion="1" /> <component name="GradleSettings"> <option name="linkedExternalProjectsSettings"> <GradleProjectSettings> <option name="externalProjectPath" value="$PROJECT_DIR$" /> + <option name="gradleHome" value="/usr/share/java/gradle" /> <option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" /> + <option name="modules"> + <set> + <option value="$PROJECT_DIR$" /> + <option value="$PROJECT_DIR$/app" /> + </set> + </option> <option name="resolveExternalAnnotations" value="false" /> </GradleProjectSettings> </option> diff --git a/Assignments/GeoQuizChapter5_TwoActivities/.idea/misc.xml b/Assignments/GeoQuizChapter5_TwoActivities/.idea/misc.xml index 3040d03..8978d23 100644 --- a/Assignments/GeoQuizChapter5_TwoActivities/.idea/misc.xml +++ b/Assignments/GeoQuizChapter5_TwoActivities/.idea/misc.xml @@ -1,7 +1,6 @@ -<?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="ExternalStorageConfigurationManager" enabled="true" /> - <component name="ProjectRootManager"> + <component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK"> <output url="file://$PROJECT_DIR$/build/classes" /> </component> <component name="ProjectType"> diff --git a/Assignments/GeoQuizChapter5_TwoActivities/app/build.gradle b/Assignments/GeoQuizChapter5_TwoActivities/app/build.gradle index afd7931..5a2da95 100644 --- a/Assignments/GeoQuizChapter5_TwoActivities/app/build.gradle +++ b/Assignments/GeoQuizChapter5_TwoActivities/app/build.gradle @@ -3,13 +3,13 @@ plugins { } android { - namespace 'com.example.geoquizchapter1' - compileSdk 32 + namespace 'com.calebfontenot.quizchapter2' + compileSdk 34 defaultConfig { - applicationId "com.example.geoquizchapter1" - minSdk 21 - targetSdk 32 + applicationId "com.calebfontenot.quizchapter2" + minSdk 30 + targetSdk 34 versionCode 1 versionName "1.0" @@ -30,8 +30,8 @@ android { dependencies { - implementation 'androidx.appcompat:appcompat:1.5.1' - implementation 'com.google.android.material:material:1.7.0' + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'com.google.android.material:material:1.11.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.5' diff --git a/Assignments/GeoQuizChapter5_TwoActivities/app/src/androidTest/java/com/example/geoquizchapter1/ExampleInstrumentedTest.java b/Assignments/GeoQuizChapter5_TwoActivities/app/src/androidTest/java/com/example/geoquizchapter1/ExampleInstrumentedTest.java deleted file mode 100644 index ac27c2c..0000000 --- a/Assignments/GeoQuizChapter5_TwoActivities/app/src/androidTest/java/com/example/geoquizchapter1/ExampleInstrumentedTest.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.example.geoquizchapter1; - -import android.content.Context; - -import androidx.test.platform.app.InstrumentationRegistry; -import androidx.test.ext.junit.runners.AndroidJUnit4; - -import org.junit.Test; -import org.junit.runner.RunWith; - -import static org.junit.Assert.*; - -/** - * Instrumented test, which will execute on an Android device. - * - * @see <a href="http://d.android.com/tools/testing">Testing documentation</a> - */ -@RunWith(AndroidJUnit4.class) -public class ExampleInstrumentedTest -{ - @Test - public void useAppContext() - { - // Context of the app under test. - Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); - assertEquals("com.example.geoquizchapter1", appContext.getPackageName()); - } -} \ No newline at end of file diff --git a/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/AndroidManifest.xml b/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/AndroidManifest.xml index 05fb444..fb394c7 100644 --- a/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/AndroidManifest.xml +++ b/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/AndroidManifest.xml @@ -10,15 +10,11 @@ android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" - android:theme="@style/Theme.GeoQuizChapter1" + android:theme="@style/Theme.QuizChapter2" tools:targetApi="31"> <activity android:name=".CheatActivity" - android:exported="false"> - <meta-data - android:name="android.app.lib_name" - android:value="" /> - </activity> + android:exported="false" /> <activity android:name=".MainActivity" android:exported="true"> @@ -27,10 +23,6 @@ <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> - - <meta-data - android:name="android.app.lib_name" - android:value="" /> </activity> </application> diff --git a/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/java/com/calebfontenot/quizchapter2/CheatActivity.java b/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/java/com/calebfontenot/quizchapter2/CheatActivity.java new file mode 100644 index 0000000..39bf367 --- /dev/null +++ b/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/java/com/calebfontenot/quizchapter2/CheatActivity.java @@ -0,0 +1,94 @@ +package com.calebfontenot.quizchapter2; + +import androidx.annotation.NonNull; +import androidx.appcompat.app.AppCompatActivity; + +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; +import android.util.Log; +import android.view.View; +import android.widget.Button; +import android.widget.TextView; +import android.widget.Toast; + +public class CheatActivity extends AppCompatActivity { + + private Button cheatButton; + private Question currentQuestion; + //private boolean hasCheatingBeenActivated; + private boolean mAnswerIsTrue; + private TextView mAnswerTextView; + private static final String CURRENT_QUESTION = "com.calebfontenot.quizchapter2.currentQuestion"; + private static final String EXTRA_ANSWER_SHOWN = "com.calebfontenot.quizchapter2.answer_shown"; + private final String TAG = "CheatActivity"; + //private static final String CHEATING_STATE = "this variable determines whether or not the user is currently in a cheating state."; + public static Intent newIntent(Context packageContext, Question currentQuestion) { + Intent intent = new Intent(packageContext, CheatActivity.class); + intent.putExtra(CURRENT_QUESTION, currentQuestion); + return intent; + } + public static boolean wasAnswerShown(Intent result) { + return result.getBooleanExtra(EXTRA_ANSWER_SHOWN, + false); + } + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_cheat); + mAnswerTextView = (TextView) + findViewById(R.id.answer_text_view); + cheatButton = findViewById(R.id.cheat_button); + Question currentQuestion = getIntent().getParcelableExtra(CURRENT_QUESTION); + Log.i(TAG, currentQuestion.toString() + " " + currentQuestion.hashCode()); + setAnswerShownResult(false); + mAnswerIsTrue = currentQuestion.ismAnswerTrue(); + if (currentQuestion.isHasCheated()) { + if (mAnswerIsTrue) { + mAnswerTextView.setText(R.string.cheat_reveal_true); + } else { + mAnswerTextView.setText(R.string.cheat_reveal_false); + } + } +/* + //if (savedInstanceState != null) { + //hasCheatingBeenActivated = savedInstanceState.getBoolean(CHEATING_STATE); + if (mAnswerIsTrue) { + mAnswerTextView.setText(R.string.cheat_reveal_true); + } else { + mAnswerTextView.setText(R.string.cheat_reveal_false); + } + //} else { + hasCheatingBeenActivated = false; + //} +*/ + cheatButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + //hasCheatingBeenActivated = true; + + //Toast.makeText(CheatActivity.this, R.string.cheat_toast, Toast.LENGTH_LONG).show(); + if (mAnswerIsTrue) { + mAnswerTextView.setText(R.string.cheat_reveal_true); + } else { + mAnswerTextView.setText(R.string.cheat_reveal_false); + } + currentQuestion.setHasCheated(true); + setAnswerShownResult(true); + } + }); + } +/* + @Override + protected void onSaveInstanceState(@NonNull Bundle outState) { + super.onSaveInstanceState(outState); + outState.putBoolean(CHEATING_STATE, hasCheatingBeenActivated) ; + } +*/ + private void setAnswerShownResult(boolean isAnswerShown) { + Intent data = new Intent(); + data.putExtra(EXTRA_ANSWER_SHOWN, + isAnswerShown); + setResult(RESULT_OK, data); + } +} \ No newline at end of file diff --git a/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/java/com/example/geoquizchapter1/CheatActivity.java b/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/java/com/example/geoquizchapter1/CheatActivity.java deleted file mode 100644 index e1da01a..0000000 --- a/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/java/com/example/geoquizchapter1/CheatActivity.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.example.geoquizchapter1; - -import androidx.appcompat.app.AppCompatActivity; - -import android.content.Intent; -import android.os.Bundle; -import android.view.View; -import android.widget.Button; -import android.widget.TextView; -import android.widget.Toast; - -public class CheatActivity extends AppCompatActivity -{ - boolean bAnswer ; - Button btShownAnswer; - boolean bHasCheated; - TextView tvAnswer; - @Override - protected void onCreate(Bundle savedInstanceState) - { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_cheat); - Intent i = this.getIntent(); - boolean isTrue = i.getBooleanExtra("key_from_main", false); - this.bAnswer = isTrue; - this.tvAnswer = findViewById( R.id.answer_text_view ); - this.btShownAnswer = findViewById( R.id.show_answer_button ); - this.btShownAnswer.setOnClickListener(new View.OnClickListener() - { - @Override public void onClick(View view) { - if ( bAnswer == true) { - CheatActivity.this.tvAnswer.setText("The answer is true."); - Toast.makeText(CheatActivity.this, "The answer is true.", - Toast.LENGTH_LONG).show(); - } - else { - CheatActivity.this.tvAnswer.setText("The answer is false."); - Toast.makeText(CheatActivity.this, "The answer is false.", Toast.LENGTH_LONG).show(); - } - bHasCheated = true; - Intent i = new Intent(); - i.putExtra("888", bHasCheated); - setResult( 33, i ); - } - }); - - } -} \ No newline at end of file diff --git a/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/java/com/example/geoquizchapter1/MainActivity.java b/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/java/com/example/geoquizchapter1/MainActivity.java deleted file mode 100644 index 91706eb..0000000 --- a/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/java/com/example/geoquizchapter1/MainActivity.java +++ /dev/null @@ -1,191 +0,0 @@ -package com.example.geoquizchapter1; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.appcompat.app.AppCompatActivity; - -import android.app.Activity; -import android.content.Intent; -import android.os.Bundle; -import android.util.Log; -import android.view.View; -import android.widget.Button; -import android.widget.TextView; -import android.widget.Toast; - -public class MainActivity extends AppCompatActivity -{ - private static final String TAG = "MainActivity"; - private int currentIndex = 0; - private Button trueButton; - private Button falseButton; - private Button nextButton; - private TextView questionTextView; - - private Question[] questionBank = new Question[] - { - new Question( R.string.question_australia, true), - new Question(R.string.question_africa, false), - new Question(R.string.question_asia , true), - new Question(R.string.question_americas , true), - new Question(R.string.question_mideast , false) - }; - private Button cheatButton; - @Override - protected void onCreate(Bundle savedInstanceState) - { - super.onCreate(savedInstanceState); - Log.d(TAG, "onCreate(Bundle) called"); - setContentView( R.layout.activity_main ); - if ( savedInstanceState != null ) - { - Log.d(TAG, "onCreate(Bundle) savedInstanceState not null:" + savedInstanceState.toString()); - this.currentIndex = savedInstanceState.getInt("KEY_CURRENT_INDEX", 0); - } - questionTextView = this.findViewById(R.id.question_text_view); - nextButton = this.findViewById(R.id.next_button); - //trueButton = this.findViewById(R.id.button_true); - trueButton = this.findViewById(R.id.button_true); - falseButton = this.findViewById(R.id.button_false); - - int questionID = questionBank[ currentIndex ].getTextResId(); - questionTextView.setText( questionID ); - - nextButton.setOnClickListener(new View.OnClickListener() - { - @Override - public void onClick(View view) - { - - - currentIndex = (currentIndex + 1) % questionBank.length; - int question = questionBank[currentIndex].getTextResId(); - - questionTextView.setText(question); - } - }); - - - - trueButton.setOnClickListener(new View.OnClickListener() - { - @Override - public void onClick(View view) - { - - if ( MainActivity.this.questionBank[MainActivity.this.currentIndex].isAnswerTrue() ) - - Toast.makeText(MainActivity.this, "correct!", Toast.LENGTH_SHORT).show(); - else - Toast.makeText(MainActivity.this, "incorrect!", Toast.LENGTH_SHORT).show(); - } - }); - - falseButton.setOnClickListener(new View.OnClickListener() - { - @Override - public void onClick(View view) - { - - if ( MainActivity.this.questionBank[MainActivity.this.currentIndex].isAnswerTrue() == false ) - - Toast.makeText(MainActivity.this, "correct!", Toast.LENGTH_SHORT).show(); - else - Toast.makeText(MainActivity.this, "incorrect!", Toast.LENGTH_SHORT).show(); - } - }); - - - - cheatButton = findViewById(R.id.cheat_button); - cheatButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - Intent intent = new Intent( - MainActivity.this, - CheatActivity.class); - - intent.putExtra("key_from_main", - questionBank[MainActivity.this.currentIndex].isAnswerTrue()); - //MainActivity.this.startActivity(intent); - MainActivity.this.startActivityForResult(intent, 888); - } - }); - } - - @Override - protected void onStart() - { - super.onStart(); - Log.d(TAG, "onStart() called"); - } - - /** - * {@inheritDoc} - * <p> - * Dispatch onResume() to fragments. Note that for better inter-operation - * with older versions of the platform, at the point of this call the - * fragments attached to the activity are <em>not</em> resumed. - */ - @Override - protected void onResume() - { - super.onResume(); - Log.d(TAG, "onResume() called"); - } - - /** - * {@inheritDoc} - * <p> - * Dispatch onPause() to fragments. - */ - @Override - protected void onPause() - { - super.onPause(); - Log.d(TAG, "onPause() called"); - - } - - @Override - protected void onStop() - { - super.onStop(); - Log.d(TAG, "onStop() called"); - - } - - - @Override - protected void onDestroy() - { - super.onDestroy(); - Log.d(TAG, "onDestroy() called"); - - } - - @Override - protected void onSaveInstanceState(@NonNull Bundle outState) - { - super.onSaveInstanceState(outState); - Log.d(TAG, "onSaveInstanceState() called"); - outState.putInt("KEY_CURRENT_INDEX", this.currentIndex); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent i) - { - super.onActivityResult(requestCode, resultCode, i); - - if (resultCode != 33) - return; - Log.d("request code" , Integer.toString(requestCode)); - boolean bCheated = - i.getBooleanExtra( Integer.toString(requestCode), false); - if (bCheated ) - Toast.makeText(MainActivity.this, "Cheating is bad!", Toast.LENGTH_LONG).show(); - else - Toast.makeText(MainActivity.this, "Good! You did not cheat!", - Toast.LENGTH_LONG).show(); - } -} \ No newline at end of file diff --git a/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/java/com/example/geoquizchapter1/Question.java b/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/java/com/example/geoquizchapter1/Question.java deleted file mode 100644 index 6cafc4e..0000000 --- a/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/java/com/example/geoquizchapter1/Question.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.example.geoquizchapter1; - -public class Question -{ - private int textResId; - private boolean answerTrue; - - public Question(int textResId, boolean answerTrue) - { - this.textResId = textResId; - this.answerTrue = answerTrue; - } - - public int getTextResId() - { - return textResId; - } - - public void setTextResId(int textResId) - { - this.textResId = textResId; - } - - public boolean isAnswerTrue() - { - return answerTrue; - } - - public void setAnswerTrue(boolean answerTrue) - { - this.answerTrue = answerTrue; - } -} diff --git a/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/drawable-mdpi/arrow_left.png b/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/drawable-mdpi/arrow_left.png deleted file mode 100644 index 71c1a4241d28ab97d34dff824aee458b4dda436f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3352 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 diff --git a/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/drawable-mdpi/arrow_right.png b/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/drawable-mdpi/arrow_right.png deleted file mode 100644 index c505b45a49c0b7732b0a6766da44cd8a09b55c16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3361 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 diff --git a/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/layout-land/activity_main.xml b/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/layout-land/activity_main.xml index 29105f1..acf8c90 100644 --- a/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/layout-land/activity_main.xml +++ b/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/layout-land/activity_main.xml @@ -1,60 +1,83 @@ <?xml version="1.0" encoding="utf-8"?> - -<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto" +<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" - tools:context=".MainActivity"> - - - <TextView - android:id="@+id/question_text_view" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="center_horizontal" - android:padding="24dp" - android:text="Hello World" /> - + android:layout_width="fill_parent" + android:layout_height="fill_parent" + android:orientation="horizontal"> <LinearLayout - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="center_horizontal|center_vertical" - android:orientation="horizontal"> + android:layout_width="match_parent" + android:layout_height="match_parent" + android:gravity="center" + android:orientation="vertical"> - <Button - android:id="@+id/button_true" + <TextView + android:id="@+id/question_text_view" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginStart="100dp" - android:layout_marginEnd="150dp" - android:layout_weight="1" - android:text="@string/button_true" /> + android:padding="10dp" + android:text="Tap next or previous to begin."/> - <Button - android:id="@+id/button_false" - android:layout_width="wrap_content" + <LinearLayout + android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginStart="-100dp" - android:layout_marginEnd="60dp" - android:layout_weight="1" - android:text="@string/button_false" /> + android:gravity="center" + android:orientation="horizontal"> + + <LinearLayout + android:layout_width="wrap_content" + android:layout_height="130px" + android:gravity="center"> + + <Button + android:id="@+id/previous_button" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:drawableLeft="@drawable/arrow_left" + android:drawablePadding="4dp" + android:text="@string/previous_button" /> + + <Button + android:id="@+id/true_button" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/true_button" /> + + <Button + android:id="@+id/false_button" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/false_button" /> + <Button + android:id="@+id/next_button" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:drawableRight="@drawable/arrow_right" + android:drawablePadding="4dp" + android:text="@string/next_button" /> + </LinearLayout> + </LinearLayout> + <Button + android:id="@+id/activate_cheat_button" + android:layout_width="100dp" + android:layout_height="wrap_content" + android:text="Cheat!" /> + + <TextView + android:id="@+id/score_counter" + android:layout_width="wrap_content" + android:layout_height="100dp" + android:gravity="center" + android:text="" + /> + + + </LinearLayout> <Button - android:id="@+id/cheat_button" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="bottom|center_horizontal" - android:text="@string/cheat_button" /> - <Button - android:id="@+id/next_button" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="right|bottom" - android:text="@string/next_button" - android:drawableRight="@drawable/arrow_right" - android:drawablePadding="4dp" + android:id="@+id/reset_score_button" + android:layout_height="wrap_content" android:layout_width="fill_parent" + android:layout_alignParentBottom="true" + android:layout_marginBottom="10dp" + android:text="Reset Score"/> - /> - -</FrameLayout> +</RelativeLayout> \ No newline at end of file diff --git a/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/layout/activity_cheat.xml b/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/layout/activity_cheat.xml index 69fe09a..e35a9b2 100644 --- a/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/layout/activity_cheat.xml +++ b/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/layout/activity_cheat.xml @@ -1,26 +1,43 @@ <?xml version="1.0" encoding="utf-8"?> -<LinearLayout 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:gravity="center" - android:orientation="vertical" -tools:context=".CheatActivity"> - <TextView - android:id="@+id/textView" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:padding="24dp" - android:text="@string/warning_text" /> - <TextView - android:id="@+id/answer_text_view" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:padding="24dp" - android:text="Answer" /> - <Button - android:id="@+id/show_answer_button" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/show_answer_button" /> -</LinearLayout> +<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" + tools:context=".CheatActivity"> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="match_parent" + android:gravity="center" + android:orientation="vertical"> + + <TextView + android:id="@+id/textView" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="Are you sure you want to cheat?" /> + + <androidx.constraintlayout.widget.ConstraintLayout + android:layout_width="match_parent" + android:layout_height="50dp"> + + </androidx.constraintlayout.widget.ConstraintLayout> + <TextView + android:id="@+id/answer_text_view" + android:layout_width="match_parent" + android:layout_height="15dp" + android:text="" + android:gravity="center" + /> + <androidx.constraintlayout.widget.ConstraintLayout + android:layout_width="match_parent" + android:layout_height="50dp"> + + </androidx.constraintlayout.widget.ConstraintLayout> + <Button + android:id="@+id/cheat_button" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:text="CHEAT!" /> + </LinearLayout> +</RelativeLayout> \ No newline at end of file diff --git a/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/layout/activity_main.xml b/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/layout/activity_main.xml index 82406d6..3d114fc 100644 --- a/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/layout/activity_main.xml +++ b/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/layout/activity_main.xml @@ -1,60 +1,92 @@ <?xml version="1.0" encoding="utf-8"?> - -<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto" +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + android:orientation="vertical"> +<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" - android:gravity="center|top" - android:orientation="vertical" - tools:context=".MainActivity"> - + android:gravity="center" + android:orientation="vertical"> <TextView android:id="@+id/question_text_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="24dp" - android:text="Hello World" /> + android:text="Tap next or previous to begin."/> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" - android:orientation="horizontal"> + android:gravity="center" + android:orientation="vertical"> - <Button - android:id="@+id/button_true" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginStart="100dp" - android:layout_marginEnd="150dp" - android:layout_weight="1" - android:text="@string/button_true" /> + <LinearLayout + android:layout_width="match_parent" + android:layout_height="130px" + android:gravity="center"> - <Button - android:id="@+id/button_false" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginStart="-100dp" - android:layout_marginEnd="60dp" - android:layout_weight="1" - android:text="@string/button_false" /> + <Button + android:id="@+id/true_button" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/true_button" /> + + <Button + android:id="@+id/false_button" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/false_button" /> + </LinearLayout> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="130px" + android:gravity="center"> + + <Button + android:id="@+id/previous_button" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/previous_button" + android:drawableLeft="@drawable/arrow_left" + android:drawablePadding="4dp" + /> + + <Button + android:id="@+id/activate_cheat_button" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" + android:text="Cheat!" /> + + <Button + android:id="@+id/next_button" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/next_button" + android:drawableRight="@drawable/arrow_right" + android:drawablePadding="4dp" + /> + </LinearLayout> </LinearLayout> - <Button - android:id="@+id/cheat_button" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="bottom|center_horizontal" - android:text="@string/cheat_button" /> - <Button - android:id="@+id/next_button" + <TextView + android:id="@+id/score_counter" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" - android:text="@string/next_button" - android:drawableRight="@drawable/arrow_right" - android:drawablePadding="4dp" - + android:padding="24dp" + android:text="" /> </LinearLayout> + <Button + android:id="@+id/reset_score_button" + android:layout_height="wrap_content" android:layout_width="fill_parent" + android:layout_alignParentBottom="true" + android:layout_marginBottom="10dp" + android:text="Reset Score"/> + +</RelativeLayout> \ No newline at end of file diff --git a/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml index eca70cf..6f3b755 100644 --- a/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +++ b/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -2,4 +2,5 @@ <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> <background android:drawable="@drawable/ic_launcher_background" /> <foreground android:drawable="@drawable/ic_launcher_foreground" /> + <monochrome android:drawable="@drawable/ic_launcher_foreground" /> </adaptive-icon> \ No newline at end of file diff --git a/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml index eca70cf..6f3b755 100644 --- a/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +++ b/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -2,4 +2,5 @@ <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> <background android:drawable="@drawable/ic_launcher_background" /> <foreground android:drawable="@drawable/ic_launcher_foreground" /> + <monochrome android:drawable="@drawable/ic_launcher_foreground" /> </adaptive-icon> \ No newline at end of file diff --git a/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/values-night/themes.xml b/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/values-night/themes.xml index 5c8aeee..f285c9f 100644 --- a/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/values-night/themes.xml +++ b/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/values-night/themes.xml @@ -1,6 +1,6 @@ <resources xmlns:tools="http://schemas.android.com/tools"> <!-- Base application theme. --> - <style name="Theme.GeoQuizChapter1" parent="Theme.MaterialComponents.DayNight.DarkActionBar"> + <style name="Theme.QuizChapter2" parent="Theme.MaterialComponents.DayNight.DarkActionBar"> <!-- Primary brand color. --> <item name="colorPrimary">@color/purple_200</item> <item name="colorPrimaryVariant">@color/purple_700</item> diff --git a/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/values/strings.xml b/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/values/strings.xml index 62f408a..1bcb554 100644 --- a/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/values/strings.xml +++ b/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/values/strings.xml @@ -1,18 +1,27 @@ <resources> - <string name="app_name">GeoQuizChapter1</string> + <string name="app_name">MP1_CalebFontenot</string> + <string name="true_button">True</string> + <string name="false_button">False</string> + <string name="next_button">Next</string> + <string name="previous_button">Previous</string> + <string name="correct_toast">Correct!</string> + <string name="incorrect_toast">Sorry, try again.</string> + <string name="cheat_toast">"Cheating is wrong. You should feel bad. \uD83D\uDE20 Cheaters also don't get points. 🙃"</string> + <string name="cheat_reveal_true">"The answer is true."</string> + <string name="cheat_reveal_false">"The answer is false."</string> - <string name="next_button"> Next </string> - <string name="button_true"> True </string> - <string name="button_false"> False </string> - <string name="question_australia">Canberra is the capital of Australia.</string> - <string name="question_oceans">The Pacific Ocean is larger thanthe Atlantic Ocean.</string> - <string name="question_mideast">The Suez Canal connects the Red Sea and the Indian Ocean.</string> - <string name="question_africa">The source of the Nile River is in Egypt.</string> - <string name="question_americas">The Amazon River is the longest river in the Americas.</string> + <string name="question_australia">Canberra is the +capital of Australia.</string> + <string name="question_oceans">The Pacific Ocean is +larger than +the Atlantic Ocean.</string> + <string name="question_mideast">The Suez Canal +connects the Red Sea +and the Indian Ocean.</string> + <string name="question_africa">The source of the Nile +River is in Egypt.</string> + <string name="question_americas">The Amazon River is +the longest river +in the Americas.</string> <string name="question_asia">Lake Baikal is the world\'s oldest and deepest freshwater lake.</string> - - <string name="warning_text">Are you sure you want to do this?</string> - <string name="show_answer_button">Show Answer</string> - <string name="cheat_button">Cheat!</string> - <string name="judgment_toast">Cheating is wrong.</string> </resources> \ No newline at end of file diff --git a/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/values/themes.xml b/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/values/themes.xml index 85e71f1..69d8674 100644 --- a/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/values/themes.xml +++ b/Assignments/GeoQuizChapter5_TwoActivities/app/src/main/res/values/themes.xml @@ -1,6 +1,6 @@ <resources xmlns:tools="http://schemas.android.com/tools"> <!-- Base application theme. --> - <style name="Theme.GeoQuizChapter1" parent="Theme.MaterialComponents.DayNight.DarkActionBar"> + <style name="Theme.QuizChapter2" parent="Theme.MaterialComponents.DayNight.DarkActionBar"> <!-- Primary brand color. --> <item name="colorPrimary">@color/purple_500</item> <item name="colorPrimaryVariant">@color/purple_700</item> diff --git a/Assignments/GeoQuizChapter5_TwoActivities/app/src/test/java/com/example/geoquizchapter1/ExampleUnitTest.java b/Assignments/GeoQuizChapter5_TwoActivities/app/src/test/java/com/example/geoquizchapter1/ExampleUnitTest.java deleted file mode 100644 index 360d6b5..0000000 --- a/Assignments/GeoQuizChapter5_TwoActivities/app/src/test/java/com/example/geoquizchapter1/ExampleUnitTest.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.example.geoquizchapter1; - -import org.junit.Test; - -import static org.junit.Assert.*; - -/** - * Example local unit test, which will execute on the development machine (host). - * - * @see <a href="http://d.android.com/tools/testing">Testing documentation</a> - */ -public class ExampleUnitTest -{ - @Test - public void addition_isCorrect() - { - assertEquals(4, 2 + 2); - } -} \ No newline at end of file diff --git a/Assignments/GeoQuizChapter5_TwoActivities/build.gradle b/Assignments/GeoQuizChapter5_TwoActivities/build.gradle index 71b99f4..ee55c94 100644 --- a/Assignments/GeoQuizChapter5_TwoActivities/build.gradle +++ b/Assignments/GeoQuizChapter5_TwoActivities/build.gradle @@ -1,5 +1,5 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { - id 'com.android.application' version '7.3.1' apply false - id 'com.android.library' version '7.3.1' apply false + id 'com.android.application' version '8.2.2' apply false + id 'com.android.library' version '8.2.2' apply false } \ No newline at end of file diff --git a/Assignments/GeoQuizChapter5_TwoActivities/gradle.properties b/Assignments/GeoQuizChapter5_TwoActivities/gradle.properties index 3e927b1..f511a31 100644 --- a/Assignments/GeoQuizChapter5_TwoActivities/gradle.properties +++ b/Assignments/GeoQuizChapter5_TwoActivities/gradle.properties @@ -18,4 +18,5 @@ android.useAndroidX=true # Enables namespacing of each library's R class so that its R class includes only the # resources declared in the library itself and none from the library's dependencies, # thereby reducing the size of the R class for that library -android.nonTransitiveRClass=true \ No newline at end of file +android.nonTransitiveRClass=true +android.nonFinalResIds=false \ No newline at end of file diff --git a/Assignments/GeoQuizChapter5_TwoActivities/gradle/wrapper/gradle-wrapper.properties b/Assignments/GeoQuizChapter5_TwoActivities/gradle/wrapper/gradle-wrapper.properties index a04d928..b1df686 100644 --- a/Assignments/GeoQuizChapter5_TwoActivities/gradle/wrapper/gradle-wrapper.properties +++ b/Assignments/GeoQuizChapter5_TwoActivities/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Wed Jan 11 09:33:01 CST 2023 +#Fri Jan 19 11:12:34 CST 2024 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip distributionPath=wrapper/dists -zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/Assignments/GeoQuizChapter5_TwoActivities/gradlew b/Assignments/GeoQuizChapter5_TwoActivities/gradlew old mode 100644 new mode 100755 diff --git a/Assignments/GeoQuizChapter5_TwoActivities/settings.gradle b/Assignments/GeoQuizChapter5_TwoActivities/settings.gradle index 32849bb..5781980 100644 --- a/Assignments/GeoQuizChapter5_TwoActivities/settings.gradle +++ b/Assignments/GeoQuizChapter5_TwoActivities/settings.gradle @@ -1,8 +1,8 @@ pluginManagement { repositories { - gradlePluginPortal() google() mavenCentral() + gradlePluginPortal() } } dependencyResolutionManagement { @@ -12,5 +12,6 @@ dependencyResolutionManagement { mavenCentral() } } -rootProject.name = "GeoQuizChapter1" +rootProject.name = "MP1_CalebFontenot" +include ':app' include ':app'