-
Notifications
You must be signed in to change notification settings - Fork 52
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Seaflowery
committed
Apr 24, 2022
1 parent
07abecc
commit 7e2651d
Showing
1 changed file
with
106 additions
and
0 deletions.
There are no files selected for viewing
106 changes: 106 additions & 0 deletions
106
app/src/main/java/io/github/subhamtyagi/lastlauncher/GuidanceNewCode.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,106 @@ | ||
package io.github.subhamtyagi.lastlauncher; | ||
|
||
import android.app.Activity; | ||
import android.content.SharedPreferences; | ||
import android.util.Log; | ||
import android.view.View; | ||
import android.widget.Button; | ||
import android.widget.TextView; | ||
|
||
/** | ||
* the added code | ||
*/ | ||
|
||
public class GuidanceNewCode extends Activity { | ||
/** | ||
* button of tutorial | ||
*/ | ||
|
||
private Button guidanceBtn; //NOPMD - suppressed BeanMembersShouldSerialize - should be | ||
|
||
/** | ||
* textview of tutorial | ||
*/ | ||
|
||
private TextView guidanceView; //NOPMD - suppressed BeanMembersShouldSerialize - should be | ||
|
||
/** | ||
* the status of tutorial, decide on which guidance text to show | ||
*/ | ||
|
||
private int guidanceStatus; //NOPMD - suppressed BeanMembersShouldSerialize - should be | ||
|
||
/** | ||
* debug tag | ||
*/ | ||
|
||
private static final String GUIDANCETAG = "guidance"; | ||
|
||
/** | ||
* bind guidanceBtn and guidanceView with .xml file and check the status of app | ||
* If the app runs for the first time, show the guidance | ||
* If not, hide the guidance | ||
*/ | ||
|
||
public void initialGuidance() { | ||
|
||
// get guidance button and view by id | ||
guidanceBtn = findViewById(R.id.btn_next); | ||
guidanceView = findViewById(R.id.text_guidance); | ||
|
||
// check whether the user installs the application for the first time | ||
final SharedPreferences storage = getSharedPreferences("store", 0); | ||
final boolean firstGetIn = | ||
storage.getBoolean("firstGetIn", true); //NOPMD - suppressed LawOfDemeter - | ||
|
||
// if true, setup guidance, else hide the guidance | ||
if (firstGetIn) { | ||
Log.i(GUIDANCETAG, "first time!"); | ||
final SharedPreferences.Editor editor = storage.edit(); | ||
editor.putBoolean("firstGetIn", false); //NOPMD - suppressed LawOfDemeter - | ||
editor.commit(); //NOPMD - suppressed LawOfDemeter - | ||
} else { | ||
guidanceBtn.setVisibility(View.GONE); | ||
guidanceView.setVisibility(View.GONE); | ||
} | ||
} | ||
|
||
/** | ||
* add a listener to guidanceBtn | ||
* when the button is clicked, change the text of guidanceView | ||
* (show different steps of guidance) | ||
* reveal the button and textview after user finishing the guidance | ||
* @param view the origin parameter of the button listener, no use in this method | ||
*/ | ||
|
||
public void onClickNext(final View view) { | ||
Log.i(GUIDANCETAG, "get in! status: " + guidanceStatus + " " + guidanceView.getText()); | ||
switch (guidanceStatus) { | ||
case 0: | ||
guidanceView.setText(getResources(). //NOPMD - suppressed LawOfDemeter - | ||
getString(R.string.guidance2)); | ||
guidanceView.requestLayout(); | ||
guidanceStatus++; | ||
Log.i(GUIDANCETAG, "First out!" + guidanceView.getText()); | ||
guidanceView.postInvalidate(); | ||
break; | ||
case 1: | ||
guidanceView.setText(getResources(). //NOPMD - suppressed LawOfDemeter - | ||
getString(R.string.guidance3)); | ||
guidanceStatus++; | ||
Log.i(GUIDANCETAG, "Second out!" + guidanceView.getText()); | ||
break; | ||
case 2: | ||
guidanceView.setText(getResources(). //NOPMD - suppressed LawOfDemeter - | ||
getString(R.string.guidance4)); | ||
guidanceStatus++; | ||
guidanceBtn.setText(getResources(). //NOPMD - suppressed LawOfDemeter - | ||
getString(R.string.finish)); | ||
break; | ||
default: | ||
guidanceBtn.setVisibility(View.GONE); | ||
guidanceView.setVisibility(View.GONE); | ||
break; | ||
} | ||
} | ||
} |