add sponsor button to navigation menu

This commit is contained in:
dkanada 2021-04-18 01:04:03 +09:00
commit 5d3977e4b6
4 changed files with 22 additions and 0 deletions

View file

@ -14,6 +14,7 @@ import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import androidx.drawerlayout.widget.DrawerLayout; import androidx.drawerlayout.widget.DrawerLayout;
import com.dkanada.gramophone.util.NavigationUtil;
import com.kabouzeid.appthemehelper.ThemeStore; import com.kabouzeid.appthemehelper.ThemeStore;
import com.kabouzeid.appthemehelper.util.ATHUtil; import com.kabouzeid.appthemehelper.util.ATHUtil;
import com.kabouzeid.appthemehelper.util.NavigationViewUtil; import com.kabouzeid.appthemehelper.util.NavigationViewUtil;
@ -75,6 +76,8 @@ public class MainActivity extends AbsSlidingMusicPanelActivity {
menu.getItem(menu.size() - 1).setIcon(R.drawable.ic_settings_white_24dp); menu.getItem(menu.size() - 1).setIcon(R.drawable.ic_settings_white_24dp);
menu.add(R.id.navigation_drawer_menu_category_other, R.id.nav_about, menu.size(), R.string.action_about); menu.add(R.id.navigation_drawer_menu_category_other, R.id.nav_about, menu.size(), R.string.action_about);
menu.getItem(menu.size() - 1).setIcon(R.drawable.ic_info_outline_white_24dp); menu.getItem(menu.size() - 1).setIcon(R.drawable.ic_info_outline_white_24dp);
menu.add(R.id.navigation_drawer_menu_category_other, R.id.nav_sponsor, menu.size(), R.string.sponsor);
menu.getItem(menu.size() - 1).setIcon(R.drawable.ic_favorite_white_24dp);
menu.add(R.id.navigation_drawer_menu_category_other, R.id.nav_logout, menu.size(), R.string.logout); menu.add(R.id.navigation_drawer_menu_category_other, R.id.nav_logout, menu.size(), R.string.logout);
menu.getItem(menu.size() - 1).setIcon(R.drawable.ic_exit_to_app_white_48dp); menu.getItem(menu.size() - 1).setIcon(R.drawable.ic_exit_to_app_white_48dp);
@ -134,6 +137,9 @@ public class MainActivity extends AbsSlidingMusicPanelActivity {
case R.id.nav_about: case R.id.nav_about:
new Handler().postDelayed(() -> startActivity(new Intent(MainActivity.this, AboutActivity.class)), 200); new Handler().postDelayed(() -> startActivity(new Intent(MainActivity.this, AboutActivity.class)), 200);
break; break;
case R.id.nav_sponsor:
NavigationUtil.openUrl(this, "https://github.com/sponsors/dkanada");
break;
case R.id.nav_logout: case R.id.nav_logout:
onLogout = true; onLogout = true;
ConfirmLogoutDialog.create().show(getSupportFragmentManager(), "CONFIRM_LOGOUT_DIALOG"); ConfirmLogoutDialog.create().show(getSupportFragmentManager(), "CONFIRM_LOGOUT_DIALOG");

View file

@ -3,6 +3,7 @@ package com.dkanada.gramophone.util;
import android.app.Activity; import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.net.Uri;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
@ -21,6 +22,15 @@ import com.dkanada.gramophone.activities.details.GenreDetailActivity;
import com.dkanada.gramophone.activities.details.PlaylistDetailActivity; import com.dkanada.gramophone.activities.details.PlaylistDetailActivity;
public class NavigationUtil { public class NavigationUtil {
public static void openUrl(@NonNull final Context context, String url) {
final Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(url));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
}
public static void goToLogin(@NonNull final Context context) { public static void goToLogin(@NonNull final Context context) {
final Intent intent = new Intent(context, LoginActivity.class); final Intent intent = new Intent(context, LoginActivity.class);

View file

@ -19,6 +19,11 @@
android:icon="@drawable/ic_info_outline_white_24dp" android:icon="@drawable/ic_info_outline_white_24dp"
android:title="@string/action_about" /> android:title="@string/action_about" />
<item
android:id="@+id/nav_sponsor"
android:icon="@drawable/ic_favorite_white_24dp"
android:title="@string/sponsor" />
<item <item
android:id="@+id/nav_logout" android:id="@+id/nav_logout"
android:icon="@drawable/ic_exit_to_app_white_48dp" android:icon="@drawable/ic_exit_to_app_white_48dp"

View file

@ -192,6 +192,7 @@
<string name="login">Login</string> <string name="login">Login</string>
<string name="disable">Disable</string> <string name="disable">Disable</string>
<string name="ignore">Ignore</string> <string name="ignore">Ignore</string>
<string name="sponsor">Sponsor</string>
<string name="logout">Logout</string> <string name="logout">Logout</string>
<string name="username">Username</string> <string name="username">Username</string>
<string name="password">Password</string> <string name="password">Password</string>