added clear button but doesn't work yet

This commit is contained in:
Bryson Steck 2021-05-09 00:44:42 -06:00
parent 5c0ed1708a
commit 2734f6777a
9 changed files with 231 additions and 94 deletions

View file

@ -1,7 +1,11 @@
package me.brysonsteck.wiimmfiwatcher;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.text.Html;
import android.text.method.LinkMovementMethod;
import android.view.View;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@ -10,9 +14,51 @@ import androidx.fragment.app.Fragment;
public class AboutFragment extends Fragment {
public AboutFragment() { super(R.layout.about_fragment); }
@SuppressLint("SetTextI18n")
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
TextView aboutWatcher = view.findViewById(R.id.about_watcher_text);
TextView aboutMe = view.findViewById(R.id.about_me_text);
TextView github = view.findViewById(R.id.github_text);
TextView donations = view.findViewById(R.id.donations_text);
TextView contact = view.findViewById(R.id.contact_text);
TextView bugs = view.findViewById(R.id.bugs_text);
aboutWatcher.setText("Wiimmfi Watcher is an UNOFFICIAL application created for a school project that I have decided to turn into a full application. " +
"This application was made to provide an easy shortcut to the Wiimmfi website and display data in a mobile friendly way, since the official website doesn't have a mobile friendly version. " +
"Free and open source, you can watch your Wiimmfi Mario Kart Wii matches on your phone in a quick and easy way. " +
"");
aboutMe.setText("Hi there! My name is Bryson Steck. I am a student studying Computer Science at Utah State University. This is my first official application that I'm maintaining. " +
"This whole \"application on the Google Play Store\" thing is new to me, so please be patient as I am learning how to maintain something like this. " +
"I hope you enjoy my first application!");
github.setClickable(true);
github.setMovementMethod(LinkMovementMethod.getInstance());
String githubLink = "<a href='https://github.com/brysonsteck/wiimmfi-watcher/tree/master'>here.</a>";
// github.setText("All of the code in this project is open source on my GitHub repository " + Html.fromHtml(githubLink) + " You are free to use this code and expand upon it under the GNU General Public License.");
github.setText(R.string.github);
// donations.setMovementMethod(LinkMovementMethod.getInstance());
// String donationsLink = "<a href='https://github.com/brysonsteck/wiimmfi-watcher/tree/master'>here.</a>";
donations.setText("Since this application is free and the code is open source, I do not receive income from maintaining this app. Because of that, I'd appreciate any donation in the following methods:\n\n" +
"PayPal: @bryzinga\n" +
"Venmo: @brysonsteck\n" +
"Bitcoin: 1Kbnp5JMTKd7a3Zs2WWm2JMCjfVb5tpcky\n" +
"Litecoin: LRboJVNzoJCjXHmwN6RQgyvYEQjjaFzEA7\n" +
"Dogecoin: DMx362YBEBYw1uDGetX3svdg8RypHsWTCS");
contact.setText("If you would like to get ahold of me for any reason unrelated to bug reports or this app in general, you can contact me through email at steck.bryson@gmail.com " +
"or on Discord at bryzinga#9971.");
// String todoList = "<a href='https://github.com/brysonsteck/wiimmfi-watcher/blob/master/TODO.md'>todo list.</a>";
// String issueGithub = "<a href='https://github.com/brysonsteck/wiimmfi-watcher/issues'>here.</a>";
// bugs.setText("Speaking of bugs, did you find a bug? First, make sure that the issue you found is not listed on my " + Html.fromHtml(todoList) +
// "It's possible I'm already aware of it or working on it. If your issue is not addressed on the todo list, then you can create an issue on my GitHub repository " + Html.fromHtml(issueGithub) +
// "If you aren't sure how to use GitHub, you can also fill out this Google Forum.");
bugs.setText(R.string.bugs);
}
}

View file

@ -7,8 +7,15 @@ import android.view.View;
import androidx.appcompat.app.AppCompatActivity;
import androidx.databinding.ObservableArrayList;
import androidx.lifecycle.ViewModelProvider;
import androidx.room.Room;
import androidx.sqlite.db.SimpleSQLiteQuery;
import com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton;
import me.brysonsteck.wiimmfiwatcher.database.AppDatabase;
import me.brysonsteck.wiimmfiwatcher.model.FriendCode;
import me.brysonsteck.wiimmfiwatcher.viewmodel.FriendCodeViewModel;
public class MainActivity extends AppCompatActivity {
ObservableArrayList<FriendCode> recentFCList = new ObservableArrayList<>();
@ -27,7 +34,22 @@ public class MainActivity extends AppCompatActivity {
}
setContentView(R.layout.activity_main);
database = Room.databaseBuilder(this, AppDatabase.class, "friend-codes-db").build();
View aboutButton = findViewById(R.id.about_button);
ExtendedFloatingActionButton clearButton = findViewById(R.id.clear_button);
FriendCodeViewModel viewModel = new ViewModelProvider(MainActivity.this).get(FriendCodeViewModel.class);
clearButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
new Thread(() -> {
database.clearAllTables();
database.query(new SimpleSQLiteQuery("DELETE FROM friendcode"));
});
}
});
aboutButton.setOnClickListener((about) -> {
getSupportFragmentManager().beginTransaction()

View file

@ -14,6 +14,7 @@ import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton;
import com.google.android.material.textview.MaterialTextView;
import me.brysonsteck.wiimmfiwatcher.model.FriendCode;
@ -108,5 +109,6 @@ public class WatchCodeFragment extends Fragment {
});
}
}

View file

@ -27,4 +27,8 @@ public interface FriendCodeDao {
@Delete
public void delete(FriendCode friendCode);
@Query("DELETE FROM friendcode")
public void nukeTable();
}

View file

@ -1,6 +1,7 @@
package me.brysonsteck.wiimmfiwatcher.viewmodel;
import android.app.Application;
import android.database.sqlite.SQLiteDatabase;
import androidx.databinding.ObservableArrayList;
import androidx.lifecycle.AndroidViewModel;
@ -45,6 +46,13 @@ public class FriendCodeViewModel extends AndroidViewModel {
return entries;
}
public boolean deleteAll() {
for (FriendCode entry: entries) {
db.getFriendCodeDao().nukeTable();
}
return true;
}
public void saveFriendCode(String name, String friendCode) {
saving.setValue(true);
new Thread(() -> {

View file

@ -0,0 +1,5 @@
<vector android:height="24dp" android:tint="#FFFFFF"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M5,13h14v-2L5,11v2zM3,17h14v-2L3,15v2zM7,7v2h14L21,7L7,7z"/>
</vector>

View file

@ -1,17 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="15dp"
android:paddingBottom="30dp">
<TextView
android:id="@+id/textView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="About Wiimmfi Watcher"
android:textSize="30sp"
android:textSize="24sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@ -21,6 +26,7 @@
android:id="@+id/about_watcher_text"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:paddingBottom="15dp"
android:text="TextView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@ -31,7 +37,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="About Me"
android:textSize="30sp"
android:textSize="24sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@ -42,6 +48,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="TextView"
android:paddingBottom="15dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView5" />
@ -51,7 +58,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="GitHub"
android:textSize="30sp"
android:textSize="24sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@ -62,6 +69,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="TextView"
android:paddingBottom="15dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView7" />
@ -71,7 +79,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Donations"
android:textSize="30sp"
android:textSize="24sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
@ -83,6 +91,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="TextView"
android:paddingBottom="15dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView8" />
@ -92,7 +101,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Contact"
android:textSize="30sp"
android:textSize="24sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
@ -104,7 +113,31 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="TextView"
android:paddingBottom="15dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView9" />
</androidx.constraintlayout.widget.ConstraintLayout>
<TextView
android:id="@+id/bugs_text"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:paddingBottom="65dp"
android:text="TextView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView13" />
<TextView
android:id="@+id/textView13"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Bugs?"
android:textSize="24sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/contact_text" />
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>

View file

@ -44,6 +44,21 @@
android:hapticFeedbackEnabled="false"
app:layout_constraintTop_toBottomOf="@+id/friend_code_input_fragment" />
<com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
android:id="@+id/clear_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|right"
android:layout_margin="15dp"
android:foregroundTint="#FFFFFF"
android:text="Clear"
android:textColor="#FFFFFF"
app:backgroundTint="#1E88E5"
app:icon="@drawable/ic_baseline_clear_all_24"
app:iconTint="#FFFFFF"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
<!-- Screen content -->
<!-- Use app:layout_behavior="@string/appbar_scrolling_view_behavior" to fit below top app bar -->

View file

@ -1,3 +1,5 @@
<resources>
<string name="app_name">Wiimmfi</string>
<string name="github">All of the code in this project is open source on my GitHub repository <a href='https://github.com/brysonsteck/wiimmfi-watcher/tree/master'>here.</a> You are free to use this code and expand upon it under the GNU General Public License.</string>
<string name="bugs">Speaking of bugs, did you find a bug? First, make sure that the issue you found is not listed on my <a href='https://github.com/brysonsteck/wiimmfi-watcher/blob/master/TODO.md'>todo list.</a> It\'s possible I\'m already aware of it or working on it. If your issue is not addressed on the todo list, then you can create an issue on my GitHub repository <a href='https://github.com/brysonsteck/wiimmfi-watcher/issues'>here.</a> If you aren\'t sure how to use GitHub, you can also fill out this Google Forum.</string>
</resources>