From 069de537b0b1f87e94255d3a49be4e2c05c959a6 Mon Sep 17 00:00:00 2001 From: Madalin Date: Fri, 23 Jul 2021 19:58:09 +0300 Subject: [PATCH 1/3] Solve the code challenge 2 from course 5. --- app/src/main/AndroidManifest.xml | 4 +- .../StartActivity.java | 2 +- .../activities/FirstActivity.java | 115 ----------------- .../activities/SecondActivity.java | 120 ------------------ .../course5codechallenge2/FirstActivity.java | 38 ++++++ .../course5codechallenge2/SecondActivity.java | 27 ++++ .../layout/activity_first_code_challenge.xml | 41 ++++++ app/src/main/res/layout/activity_main.xml | 99 --------------- app/src/main/res/layout/activity_second.xml | 35 ----- .../layout/activity_second_code_challenge.xml | 11 ++ app/src/main/res/values/dimens.xml | 1 + app/src/main/res/values/strings.xml | 44 ++----- 12 files changed, 131 insertions(+), 406 deletions(-) delete mode 100644 app/src/main/java/com/magdamiu/androidfundamentalsmai2021/activities/FirstActivity.java delete mode 100644 app/src/main/java/com/magdamiu/androidfundamentalsmai2021/activities/SecondActivity.java create mode 100644 app/src/main/java/com/magdamiu/androidfundamentalsmai2021/course5codechallenge2/FirstActivity.java create mode 100644 app/src/main/java/com/magdamiu/androidfundamentalsmai2021/course5codechallenge2/SecondActivity.java create mode 100644 app/src/main/res/layout/activity_first_code_challenge.xml delete mode 100644 app/src/main/res/layout/activity_main.xml delete mode 100644 app/src/main/res/layout/activity_second.xml create mode 100644 app/src/main/res/layout/activity_second_code_challenge.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9312351..697c894 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -11,7 +11,9 @@ android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.AndroidFundamentalsMai2021"> - + + + diff --git a/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/StartActivity.java b/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/StartActivity.java index 3a1a9c0..e4fc633 100644 --- a/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/StartActivity.java +++ b/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/StartActivity.java @@ -6,7 +6,7 @@ import android.os.Bundle; import android.view.View; -import com.magdamiu.androidfundamentalsmai2021.activities.FirstActivity; +import com.magdamiu.androidfundamentalsmai2021.course5codechallenge2.FirstActivity; public class StartActivity extends AppCompatActivity { diff --git a/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/activities/FirstActivity.java b/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/activities/FirstActivity.java deleted file mode 100644 index a1546ec..0000000 --- a/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/activities/FirstActivity.java +++ /dev/null @@ -1,115 +0,0 @@ -package com.magdamiu.androidfundamentalsmai2021.activities; - -import androidx.annotation.Nullable; -import androidx.appcompat.app.AppCompatActivity; - -import android.content.Intent; -import android.net.Uri; -import android.os.Bundle; -import android.util.Log; -import android.view.View; -import android.widget.EditText; -import android.widget.Toast; - -import com.magdamiu.androidfundamentalsmai2021.R; - -import java.net.URI; - -import static com.magdamiu.androidfundamentalsmai2021.R.string.use_device_with_sim; - -public class FirstActivity extends AppCompatActivity { - protected static final String MESSAGE = "message"; - protected static final int REQUEST_CODE_FIRST_ACTIVITY = 255; - private static final String FIRST_TAG = "FirstActivity"; - - - private EditText editTextMessage; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_first); - Log.e(FIRST_TAG, "onCreate method was called"); - - editTextMessage = findViewById(R.id.editTextMessage); - } - - @Override - protected void onStart() { - super.onStart(); - Log.e(FIRST_TAG, "onStart method was called"); - } - - @Override - protected void onResume() { - super.onResume(); - Log.e(FIRST_TAG, "onResume method was called"); - } - - @Override - protected void onPause() { - super.onPause(); - Log.e(FIRST_TAG, "onPause method was called"); - } - - @Override - protected void onStop() { - super.onStop(); - Log.e(FIRST_TAG, "onStop method was called"); - } - - @Override - protected void onDestroy() { - super.onDestroy(); - Log.e(FIRST_TAG, "onDestroy method was called"); - } - - @Override - protected void onRestart() { - super.onRestart(); - Log.e(FIRST_TAG, "onRestart method was called"); - } - - public void startSecondActivityOnClick(View view) { - Intent intentToStartSecondActivity = new Intent(FirstActivity.this, SecondActivity.class); - intentToStartSecondActivity.putExtra(MESSAGE, getString(R.string.hello_from_first_activity)); - startActivity(intentToStartSecondActivity); - } - - public void callPhoneNumberOnClick(View view) { - Intent callPhoneNumber = new Intent(Intent.ACTION_DIAL); - callPhoneNumber.setData(Uri.parse("tel:0744444444")); - - if (callPhoneNumber.resolveActivity(getPackageManager()) != null) { - startActivity(callPhoneNumber); - } else { - Toast.makeText(FirstActivity.this, use_device_with_sim, Toast.LENGTH_LONG).show(); - } - } - - public void openURlInBrowserOnClick(View view) { - Intent openURLInBrowser = new Intent(Intent.ACTION_VIEW); - openURLInBrowser.setData(Uri.parse("http://www.twitter.com")); - startActivity(openURLInBrowser); - } - - public void sendMessageOnClick(View view) { - String message = editTextMessage.getText().toString(); - if (message.length() > 0) { - Intent startSecondActivity = new Intent(FirstActivity.this, SecondActivity.class); - startSecondActivity.putExtra(MESSAGE, message); - startActivityForResult(startSecondActivity, REQUEST_CODE_FIRST_ACTIVITY); - } - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - - if (requestCode == REQUEST_CODE_FIRST_ACTIVITY && resultCode == RESULT_OK) { - String messageReceivedAsResult = data.getStringExtra(MESSAGE); - editTextMessage.setText(messageReceivedAsResult); - } - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/activities/SecondActivity.java b/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/activities/SecondActivity.java deleted file mode 100644 index 4475293..0000000 --- a/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/activities/SecondActivity.java +++ /dev/null @@ -1,120 +0,0 @@ -package com.magdamiu.androidfundamentalsmai2021.activities; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.appcompat.app.AppCompatActivity; - -import android.annotation.SuppressLint; -import android.content.Intent; -import android.os.Bundle; -import android.util.Log; -import android.widget.CheckBox; -import android.widget.EditText; -import android.widget.TextView; - -import com.magdamiu.androidfundamentalsmai2021.R; - -public class SecondActivity extends AppCompatActivity { - private static final String SECOND_TAG = "SecondActivity"; - private static final String PERSON_NAME = "personName"; - private static final String TERMS_AND_COND = "terms"; - - private TextView textViewMessage; - private EditText editTextPersonName; - private CheckBox checkBoxTermsAndConditions; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_second); - Log.e(SECOND_TAG, "onCreate method was called"); - - textViewMessage = findViewById(R.id.textViewMessage); - editTextPersonName = findViewById(R.id.editTextPersonName); - checkBoxTermsAndConditions = findViewById(R.id.checkBoxTermsAndConditions); - - //processBundle(); - } - - private void processBundle() { - Bundle bundle = getIntent().getExtras(); - if(bundle != null) { - String messageReceived = bundle.getString(FirstActivity.MESSAGE); - textViewMessage.setText(messageReceived); - - // process the message and send the result (dummy processing) - messageReceived = getString(R.string.confirm_message); - - // send back the result to the FirstActivity - Intent intent = new Intent(); - intent.putExtra(FirstActivity.MESSAGE, messageReceived); - setResult(RESULT_OK, intent); - - // close the current activity (remove it from the stack) - finish(); - } - } - - // cache the filled data - // @SuppressLint("MissingSuperCall") - @Override - protected void onSaveInstanceState(@NonNull Bundle outState) { - super.onSaveInstanceState(outState); - Log.e(SECOND_TAG, "onSaveInstanceState method was called"); - - //TODO check for null - String personName = editTextPersonName.getText().toString(); - outState.putString(PERSON_NAME, personName); - - boolean isTermsAndCondChecked = checkBoxTermsAndConditions.isChecked(); - outState.putBoolean(TERMS_AND_COND, isTermsAndCondChecked); - } - - // restore the cached data - @Override - protected void onRestoreInstanceState(@NonNull Bundle savedInstanceState) { - super.onRestoreInstanceState(savedInstanceState); - //TODO check for null - String personName = savedInstanceState.getString(PERSON_NAME); - editTextPersonName.setText(personName); - - boolean isTermsAndCondChecked = savedInstanceState.getBoolean(TERMS_AND_COND); - checkBoxTermsAndConditions.setChecked(isTermsAndCondChecked); - } - - @Override - protected void onStart() { - super.onStart(); - Log.e(SECOND_TAG, "onStart method was called"); - } - - @Override - protected void onResume() { - super.onResume(); - Log.e(SECOND_TAG, "onResume method was called"); - } - - @Override - protected void onPause() { - super.onPause(); - Log.e(SECOND_TAG, "onPause method was called"); - } - - @Override - protected void onStop() { - super.onStop(); - Log.e(SECOND_TAG, "onStop method was called"); - } - - @Override - protected void onDestroy() { - super.onDestroy(); - Log.e(SECOND_TAG, "onDestroy method was called"); - } - - @Override - protected void onRestart() { - super.onRestart(); - Log.e(SECOND_TAG, "onRestart method was called"); - } -} \ No newline at end of file diff --git a/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/course5codechallenge2/FirstActivity.java b/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/course5codechallenge2/FirstActivity.java new file mode 100644 index 0000000..1e44127 --- /dev/null +++ b/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/course5codechallenge2/FirstActivity.java @@ -0,0 +1,38 @@ +package com.magdamiu.androidfundamentalsmai2021.course5codechallenge2; + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; + +import androidx.appcompat.app.AppCompatActivity; + +import com.magdamiu.androidfundamentalsmai2021.R; + +public class FirstActivity extends AppCompatActivity { + + protected static final String PASSAGE = "passage"; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_first_code_challenge); + } + + public void startSecondActivityWithTextOneOnClick(View view) { + Intent intent = new Intent(FirstActivity.this, SecondActivity.class); + intent.putExtra(PASSAGE, getString(R.string.first_text)); + startActivity(intent); + } + + public void startSecondActivityWithTextTwoOnClick(View view) { + Intent intent = new Intent(FirstActivity.this, SecondActivity.class); + intent.putExtra(PASSAGE, getString(R.string.second_text)); + startActivity(intent); + } + + public void startSecondActivityWithTextThreeOnClick(View view) { + Intent intent = new Intent(FirstActivity.this, SecondActivity.class); + intent.putExtra(PASSAGE, getString(R.string.third_text)); + startActivity(intent); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/course5codechallenge2/SecondActivity.java b/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/course5codechallenge2/SecondActivity.java new file mode 100644 index 0000000..8cd84ec --- /dev/null +++ b/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/course5codechallenge2/SecondActivity.java @@ -0,0 +1,27 @@ +package com.magdamiu.androidfundamentalsmai2021.course5codechallenge2; + +import androidx.appcompat.app.AppCompatActivity; + +import android.os.Bundle; +import android.widget.TextView; + +import com.magdamiu.androidfundamentalsmai2021.R; + +public class SecondActivity extends AppCompatActivity { + + private TextView textViewPassages; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_second_code_challenge); + + textViewPassages = findViewById(R.id.textViewPassages); + + Bundle bundle = getIntent().getExtras(); + if (bundle != null) { + String passageReceived = bundle.getString(FirstActivity.PASSAGE); + textViewPassages.setText(passageReceived); + } + } +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_first_code_challenge.xml b/app/src/main/res/layout/activity_first_code_challenge.xml new file mode 100644 index 0000000..0b8a4e6 --- /dev/null +++ b/app/src/main/res/layout/activity_first_code_challenge.xml @@ -0,0 +1,41 @@ + + + +