mirror of
https://github.com/FatttSnake/OxygenToolbox.git
synced 2026-04-06 02:21:26 +08:00
126 lines
5.0 KiB
Java
126 lines
5.0 KiB
Java
package com.fatapp.oxygentoolbox;
|
|
|
|
import android.content.Context;
|
|
import android.os.Bundle;
|
|
import android.view.Menu;
|
|
|
|
import com.fatapp.oxygentoolbox.util.MultiLanguageUtils;
|
|
import com.fatapp.oxygentoolbox.util.ResourceUtil;
|
|
import com.fatapp.oxygentoolbox.util.VibratorController;
|
|
import com.google.android.material.navigation.NavigationView;
|
|
|
|
import androidx.annotation.NonNull;
|
|
import androidx.coordinatorlayout.widget.CoordinatorLayout;
|
|
import androidx.navigation.NavController;
|
|
import androidx.navigation.Navigation;
|
|
import androidx.navigation.fragment.NavHostFragment;
|
|
import androidx.navigation.ui.AppBarConfiguration;
|
|
import androidx.navigation.ui.NavigationUI;
|
|
import androidx.drawerlayout.widget.DrawerLayout;
|
|
import androidx.appcompat.app.AppCompatActivity;
|
|
import androidx.appcompat.widget.Toolbar;
|
|
|
|
import java.util.Objects;
|
|
|
|
public class MainActivity extends AppCompatActivity {
|
|
|
|
public static AppCompatActivity mainActivity;
|
|
|
|
private AppBarConfiguration mAppBarConfiguration;
|
|
|
|
private DrawerLayout drawer;
|
|
private CoordinatorLayout mainPage;
|
|
private Toolbar toolbar;
|
|
private NavigationView navigationView;
|
|
|
|
private void initView() {
|
|
drawer = findViewById(R.id.drawer_layout);
|
|
mainPage = findViewById(R.id.main_page);
|
|
toolbar = findViewById(R.id.toolbar);
|
|
navigationView = findViewById(R.id.nav_view);
|
|
mainActivity = this;
|
|
}
|
|
|
|
@Override
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
super.onCreate(savedInstanceState);
|
|
setContentView(R.layout.activity_main);
|
|
|
|
//init
|
|
initView();
|
|
initLayout();
|
|
VibratorController.init();
|
|
|
|
// shortCutCreateTest();
|
|
}
|
|
|
|
private void initLayout() {
|
|
mainPage.setPadding(0, ResourceUtil.getStatusBarHeight(getWindow(), getApplicationContext()), 0, 0);
|
|
|
|
setSupportActionBar(toolbar);
|
|
navigationView.inflateHeaderView(R.layout.nav_header_main);
|
|
navigationView.inflateMenu(R.menu.activity_main_drawer);
|
|
navigationView.addOnLayoutChangeListener((v, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom) -> drawer.setDrawerLockMode(navigationView.getMenu().getItem(0).isChecked()
|
|
? DrawerLayout.LOCK_MODE_UNLOCKED
|
|
: DrawerLayout.LOCK_MODE_LOCKED_CLOSED));
|
|
navigationView.getMenu().getItem(4).setOnMenuItemClickListener(item -> {
|
|
finish();
|
|
return false;
|
|
});
|
|
// Passing each menu ID as a set of Ids because each
|
|
// menu should be considered as top level destinations.
|
|
mAppBarConfiguration = new AppBarConfiguration.Builder(R.id.nav_home)
|
|
.setOpenableLayout(drawer)
|
|
.build();
|
|
NavController navController = ((NavHostFragment) Objects.requireNonNull(getSupportFragmentManager().findFragmentById(R.id.nav_host_fragment))).getNavController();
|
|
NavigationUI.setupActionBarWithNavController(this, navController, mAppBarConfiguration);
|
|
NavigationUI.setupWithNavController(navigationView, navController);
|
|
}
|
|
|
|
/*
|
|
private void shortCutCreateTest() {
|
|
if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.N_MR1) {
|
|
return;
|
|
}
|
|
Intent intent = new Intent();
|
|
intent.setAction("android.intent.action.MAIN");
|
|
intent.setClassName("com.fatapp.oxygentoolbox",
|
|
"com.fatapp.oxygentoolbox.MainActivity");
|
|
ShortcutInfo.Builder builder;
|
|
builder = new ShortcutInfo.Builder(this, "Time Screen")
|
|
.setIntent(new Intent()
|
|
.setAction("activity.timescreen")
|
|
.setClassName("com.fatapp.oxygentoolbox", "com.fatapp.oxygentoolbox.tools.TimeScreenActivity"))
|
|
.setShortLabel("Time Screen")
|
|
.setLongLabel("Time Screen")
|
|
.setIcon(Icon.createWithResource(this, R.drawable.ic_menu_home));
|
|
ShortcutManager shortcutManager = getSystemService(ShortcutManager.class);
|
|
shortcutManager.addDynamicShortcuts(Collections.singletonList(builder.build()));
|
|
}
|
|
*/
|
|
|
|
@Override
|
|
public boolean onCreateOptionsMenu(@NonNull Menu menu) {
|
|
// Inflate the menu; this adds items to the action bar if it is present.
|
|
getMenuInflater().inflate(R.menu.main, menu);
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public boolean onSupportNavigateUp() {
|
|
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
|
|
return NavigationUI.navigateUp(navController, mAppBarConfiguration)
|
|
|| super.onSupportNavigateUp();
|
|
}
|
|
|
|
@Override
|
|
protected void attachBaseContext(Context newBase) {
|
|
super.attachBaseContext(MultiLanguageUtils.attachBaseContext(newBase));
|
|
}
|
|
|
|
@Override
|
|
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
|
|
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
|
MultiLanguageUtils.attachBaseContext(getApplicationContext());
|
|
}
|
|
} |