Skip to content

Commit ffb6079

Browse files
committed
refactor main activity
1 parent 4000a52 commit ffb6079

File tree

3 files changed

+528
-418
lines changed

3 files changed

+528
-418
lines changed

app/src/main/java/io/github/ratul/topactivity/App.java

Lines changed: 54 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -16,46 +16,70 @@
1616
*/
1717
package io.github.ratul.topactivity;
1818

19+
import static io.github.ratul.topactivity.receivers.NotificationReceiver.createNotificationChannel;
20+
1921
import android.app.Application;
20-
import io.github.ratul.topactivity.model.CrashHandler;
22+
import android.content.ClipData;
23+
import android.content.ClipboardManager;
2124
import android.content.Context;
22-
import java.io.File;
23-
import android.app.Activity;
24-
import io.github.ratul.topactivity.ui.MainActivity;
2525
import android.content.Intent;
26-
import io.github.ratul.topactivity.ui.CrashActivity;
26+
import android.content.SharedPreferences;
27+
import android.os.Build;
2728
import android.widget.Toast;
28-
import android.os.Environment;
2929

30-
public class App extends Application {
31-
private static App sApp;
30+
import androidx.annotation.NonNull;
31+
import androidx.core.app.NotificationManagerCompat;
3232

33-
@Override
34-
protected void attachBaseContext(Context base) {
35-
super.attachBaseContext(base);
36-
sApp = this;
37-
Thread.setDefaultUncaughtExceptionHandler(new CrashHandler(this));
38-
}
33+
import io.github.ratul.topactivity.ui.CopyToClipboardActivity;
34+
35+
public class App extends Application {
36+
private static App instance;
37+
private SharedPreferences sharedPreferences;
38+
private NotificationManagerCompat notificationManager;
3939

40-
@Override
41-
public void onCreate() {
42-
super.onCreate();
43-
}
40+
@Override
41+
public void onCreate() {
42+
super.onCreate();
43+
instance = this;
44+
sharedPreferences = getSharedPreferences(getPackageName(), 0);
45+
notificationManager = NotificationManagerCompat.from(this);
46+
createNotificationChannel(notificationManager);
47+
}
4448

45-
public static String getCrashLogDir() {
46-
return getCrashLogFolder().getAbsolutePath();
47-
}
49+
public SharedPreferences getSharedPreferences() {
50+
return sharedPreferences;
51+
}
4852

49-
public static File getCrashLogFolder() {
50-
return sApp.getExternalFilesDir(null);
51-
}
53+
public NotificationManagerCompat getNotificationManager() {
54+
return notificationManager;
55+
}
5256

53-
public static App getApp() {
54-
return sApp;
55-
}
57+
public static App getInstance() {
58+
return instance;
59+
}
5660

57-
public static void showToast(String str, int length) {
58-
Toast.makeText(getApp(), str, length).show();
59-
}
61+
public static void copyString(Context context, String str, String msg) {
62+
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
63+
ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
64+
ClipData clip = ClipData.newPlainText(context.getString(R.string.app_name), str);
65+
clipboard.setPrimaryClip(clip);
66+
} else {
67+
Intent copyActivity = new Intent(context, CopyToClipboardActivity.class)
68+
.putExtra(Intent.EXTRA_TEXT, str)
69+
.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
70+
context.startActivity(copyActivity);
71+
}
72+
showToast(context, msg);
73+
}
6074

75+
public static void showToast(@NonNull Context context, @NonNull String message) {
76+
try {
77+
Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
78+
} catch (Throwable ignored) {
79+
try {
80+
Toast.makeText(instance, message, Toast.LENGTH_SHORT).show();
81+
} catch (Throwable ignored2) {
82+
}
83+
}
84+
}
6185
}

0 commit comments

Comments
 (0)