summaryrefslogtreecommitdiffstats
path: root/src/com/google/android/traceur
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/google/android/traceur')
-rw-r--r--src/com/google/android/traceur/FileSender.java2
-rw-r--r--src/com/google/android/traceur/MainFragment.java58
-rw-r--r--src/com/google/android/traceur/QsService.java2
-rw-r--r--src/com/google/android/traceur/Receiver.java35
-rw-r--r--src/com/google/android/traceur/StopTraceService.java3
-rw-r--r--src/com/google/android/traceur/TraceService.java15
-rw-r--r--src/com/google/android/traceur/TraceUtils.java24
7 files changed, 56 insertions, 83 deletions
diff --git a/src/com/google/android/traceur/FileSender.java b/src/com/google/android/traceur/FileSender.java
index a824f9d..b069521 100644
--- a/src/com/google/android/traceur/FileSender.java
+++ b/src/com/google/android/traceur/FileSender.java
@@ -56,7 +56,7 @@ public class FileSender {
intent.putExtra(Intent.EXTRA_INTENT, sendIntent);
final Notification.Builder builder =
- new Notification.Builder(context, Receiver.NOTIFICATION_CHANNEL)
+ new Notification.Builder(context, Receiver.NOTIFICATION_CHANNEL_OTHER)
.setSmallIcon(R.drawable.stat_sys_adb)
.setContentTitle(context.getString(R.string.trace_saved))
.setTicker(context.getString(R.string.trace_saved))
diff --git a/src/com/google/android/traceur/MainFragment.java b/src/com/google/android/traceur/MainFragment.java
index 5db3577..e69b2b3 100644
--- a/src/com/google/android/traceur/MainFragment.java
+++ b/src/com/google/android/traceur/MainFragment.java
@@ -67,8 +67,6 @@ public class MainFragment extends PreferenceFragment {
private MultiSelectListPreference mTags;
- private SwitchPreference mUsePerfetto;
-
private boolean mRefreshing;
private BroadcastReceiver mRefreshReceiver;
@@ -166,24 +164,6 @@ public class MainFragment extends PreferenceFragment {
}
});
- mUsePerfetto = (SwitchPreference) findPreference(getActivity().getString(R.string.pref_key_use_perfetto));
- mUsePerfetto.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
- @Override
- public boolean onPreferenceChange(Preference preference, Object newValue) {
- boolean shouldUsePerfetto = (boolean)newValue;
- boolean success = TraceUtils.switchTraceEngine(
- shouldUsePerfetto ? PerfettoUtils.NAME : AtraceUtils.NAME);
-
- if (success) {
- mUsePerfetto.setChecked(shouldUsePerfetto);
- }
- return false;
- }
- });
-
- getPreferenceScreen().getSharedPreferences()
- .registerOnSharedPreferenceChangeListener(mSharedPreferenceChangeListener);
-
refreshUi();
mRefreshReceiver = new BroadcastReceiver() {
@@ -202,14 +182,18 @@ public class MainFragment extends PreferenceFragment {
}
@Override
- public void onResume() {
- super.onResume();
+ public void onStart() {
+ super.onStart();
+ getPreferenceScreen().getSharedPreferences()
+ .registerOnSharedPreferenceChangeListener(mSharedPreferenceChangeListener);
getActivity().registerReceiver(mRefreshReceiver, new IntentFilter(ACTION_REFRESH_TAGS));
Receiver.updateTracing(getContext());
}
@Override
- public void onPause() {
+ public void onStop() {
+ getPreferenceScreen().getSharedPreferences()
+ .unregisterOnSharedPreferenceChangeListener(mSharedPreferenceChangeListener);
getActivity().unregisterReceiver(mRefreshReceiver);
if (mAlertDialog != null) {
@@ -217,7 +201,7 @@ public class MainFragment extends PreferenceFragment {
mAlertDialog = null;
}
- super.onPause();
+ super.onStop();
}
@Override
@@ -246,9 +230,6 @@ public class MainFragment extends PreferenceFragment {
mTracingOn.setChecked(mTracingOn.getPreferenceManager().getSharedPreferences().getBoolean(
mTracingOn.getKey(), false));
- // Grey out the toggle to change the trace engine if a trace is in progress.
- mUsePerfetto.setEnabled(!mTracingOn.isChecked());
-
// Update category list to match the categories available on the system.
Set<Entry<String, String>> availableTags = TraceUtils.listCategories().entrySet();
ArrayList<String> entries = new ArrayList<String>(availableTags.size());
@@ -280,12 +261,21 @@ public class MainFragment extends PreferenceFragment {
context.getString(R.string.pref_key_buffer_size));
bufferSize.setSummary(bufferSize.getEntry());
- ListPreference maxLongTraceSize = (ListPreference)findPreference(
- context.getString(R.string.pref_key_max_long_trace_size));
- maxLongTraceSize.setSummary(maxLongTraceSize.getEntry());
-
- ListPreference maxLongTraceDuration = (ListPreference)findPreference(
- context.getString(R.string.pref_key_max_long_trace_duration));
- maxLongTraceDuration.setSummary(maxLongTraceDuration.getEntry());
+ // If we are not using the Perfetto trace backend,
+ // hide the unsupported preferences.
+ if (TraceUtils.currentTraceEngine().equals(PerfettoUtils.NAME)) {
+ ListPreference maxLongTraceSize = (ListPreference)findPreference(
+ context.getString(R.string.pref_key_max_long_trace_size));
+ maxLongTraceSize.setSummary(maxLongTraceSize.getEntry());
+
+ ListPreference maxLongTraceDuration = (ListPreference)findPreference(
+ context.getString(R.string.pref_key_max_long_trace_duration));
+ maxLongTraceDuration.setSummary(maxLongTraceDuration.getEntry());
+ } else {
+ Preference longTraceCategory = findPreference("long_trace_category");
+ if (longTraceCategory != null) {
+ getPreferenceScreen().removePreference(longTraceCategory);
+ }
+ }
}
}
diff --git a/src/com/google/android/traceur/QsService.java b/src/com/google/android/traceur/QsService.java
index 852840b..0ddbf36 100644
--- a/src/com/google/android/traceur/QsService.java
+++ b/src/com/google/android/traceur/QsService.java
@@ -65,7 +65,7 @@ public class QsService extends TileService {
public void onClick() {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
boolean newTracingState = !prefs.getBoolean(getString(R.string.pref_key_tracing_on), false);
- prefs.edit().putBoolean(getString(R.string.pref_key_tracing_on), newTracingState).apply();
+ prefs.edit().putBoolean(getString(R.string.pref_key_tracing_on), newTracingState).commit();
Receiver.updateTracing(this);
}
diff --git a/src/com/google/android/traceur/Receiver.java b/src/com/google/android/traceur/Receiver.java
index 987d775..26a504e 100644
--- a/src/com/google/android/traceur/Receiver.java
+++ b/src/com/google/android/traceur/Receiver.java
@@ -49,7 +49,8 @@ public class Receiver extends BroadcastReceiver {
public static final String STOP_ACTION = "com.android.traceur.STOP";
public static final String OPEN_ACTION = "com.android.traceur.OPEN";
- public static final String NOTIFICATION_CHANNEL = "system-tracing";
+ public static final String NOTIFICATION_CHANNEL_TRACING = "trace-is-being-recorded";
+ public static final String NOTIFICATION_CHANNEL_OTHER = "system-tracing";
private static final List<String> TRACE_TAGS = Arrays.asList(
"am", "binder_driver", "camera", "dalvik", "freq", "gfx", "hal",
@@ -72,11 +73,11 @@ public class Receiver extends BroadcastReceiver {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
- createNotificationChannel(context);
+ createNotificationChannels(context);
updateDeveloperOptionsWatcher(context);
updateTracing(context);
} else if (STOP_ACTION.equals(intent.getAction())) {
- prefs.edit().putBoolean(context.getString(R.string.pref_key_tracing_on), false).apply();
+ prefs.edit().putBoolean(context.getString(R.string.pref_key_tracing_on), false).commit();
updateTracing(context);
} else if (OPEN_ACTION.equals(intent.getAction())) {
context.sendBroadcast(new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));
@@ -198,7 +199,7 @@ public class Receiver extends BroadcastReceiver {
PreferenceManager.getDefaultSharedPreferences(context);
prefs.edit().putBoolean(
context.getString(R.string.pref_key_quick_setting), false)
- .apply();
+ .commit();
updateQuickSettings(context);
}
}
@@ -215,7 +216,7 @@ public class Receiver extends BroadcastReceiver {
String title = context.getString(R.string.tracing_categories_unavailable);
String msg = TextUtils.join(", ", getActiveUnavailableTags(context, prefs));
final Notification.Builder builder =
- new Notification.Builder(context, NOTIFICATION_CHANNEL)
+ new Notification.Builder(context, NOTIFICATION_CHANNEL_OTHER)
.setSmallIcon(R.drawable.stat_sys_adb)
.setContentTitle(title)
.setTicker(title)
@@ -236,17 +237,27 @@ public class Receiver extends BroadcastReceiver {
.notify(Receiver.class.getName(), 0, builder.build());
}
- private static void createNotificationChannel(Context context) {
- NotificationChannel channel = new NotificationChannel(
- NOTIFICATION_CHANNEL, context.getString(R.string.system_tracing),
+ private static void createNotificationChannels(Context context) {
+ NotificationChannel tracingChannel = new NotificationChannel(
+ NOTIFICATION_CHANNEL_TRACING,
+ context.getString(R.string.trace_is_being_recorded),
NotificationManager.IMPORTANCE_HIGH);
- channel.setBypassDnd(true);
- channel.enableVibration(true);
- channel.setSound(null, null);
+ tracingChannel.setBypassDnd(true);
+ tracingChannel.enableVibration(true);
+ tracingChannel.setSound(null, null);
+
+ NotificationChannel saveTraceChannel = new NotificationChannel(
+ NOTIFICATION_CHANNEL_OTHER,
+ context.getString(R.string.saving_trace),
+ NotificationManager.IMPORTANCE_HIGH);
+ saveTraceChannel.setBypassDnd(true);
+ saveTraceChannel.enableVibration(true);
+ saveTraceChannel.setSound(null, null);
NotificationManager notificationManager =
context.getSystemService(NotificationManager.class);
- notificationManager.createNotificationChannel(channel);
+ notificationManager.createNotificationChannel(tracingChannel);
+ notificationManager.createNotificationChannel(saveTraceChannel);
}
public static Set<String> getActiveTags(Context context, SharedPreferences prefs, boolean onlyAvailable) {
diff --git a/src/com/google/android/traceur/StopTraceService.java b/src/com/google/android/traceur/StopTraceService.java
index c9df791..a8dd636 100644
--- a/src/com/google/android/traceur/StopTraceService.java
+++ b/src/com/google/android/traceur/StopTraceService.java
@@ -37,7 +37,6 @@ public class StopTraceService extends TraceService {
*/
@Override
public void onHandleIntent(Intent intent) {
- setupTraceEngine();
Context context = getApplicationContext();
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
boolean prefsTracingOn =
@@ -51,7 +50,7 @@ public class StopTraceService extends TraceService {
PreferenceManager.getDefaultSharedPreferences(context)
.edit().putBoolean(context.getString(R.string.pref_key_tracing_on),
- false).apply();
+ false).commit();
context.sendBroadcast(new Intent(MainFragment.ACTION_REFRESH_TAGS));
QsService.updateTile();
diff --git a/src/com/google/android/traceur/TraceService.java b/src/com/google/android/traceur/TraceService.java
index a028645..dc567b6 100644
--- a/src/com/google/android/traceur/TraceService.java
+++ b/src/com/google/android/traceur/TraceService.java
@@ -80,7 +80,6 @@ public class TraceService extends IntentService {
@Override
public void onHandleIntent(Intent intent) {
- setupTraceEngine();
Context context = getApplicationContext();
if (intent.getAction().equals(INTENT_ACTION_START_TRACING)) {
@@ -111,7 +110,7 @@ public class TraceService extends IntentService {
String msg = context.getString(R.string.tap_to_stop_tracing);
Notification.Builder notification =
- new Notification.Builder(context, Receiver.NOTIFICATION_CHANNEL)
+ new Notification.Builder(context, Receiver.NOTIFICATION_CHANNEL_TRACING)
.setSmallIcon(R.drawable.stat_sys_adb)
.setContentTitle(title)
.setTicker(title)
@@ -138,7 +137,7 @@ public class TraceService extends IntentService {
TraceUtils.traceStop();
PreferenceManager.getDefaultSharedPreferences(context)
.edit().putBoolean(context.getString(R.string.pref_key_tracing_on),
- false).apply();
+ false).commit();
QsService.updateTile();
stopForeground(Service.STOP_FOREGROUND_REMOVE);
}
@@ -150,7 +149,7 @@ public class TraceService extends IntentService {
getSystemService(NotificationManager.class);
Notification.Builder notification =
- new Notification.Builder(this, Receiver.NOTIFICATION_CHANNEL)
+ new Notification.Builder(this, Receiver.NOTIFICATION_CHANNEL_OTHER)
.setSmallIcon(R.drawable.stat_sys_adb)
.setContentTitle(getString(R.string.saving_trace))
.setTicker(getString(R.string.saving_trace))
@@ -184,12 +183,4 @@ public class TraceService extends IntentService {
stopForeground(Service.STOP_FOREGROUND_REMOVE);
}
- protected void setupTraceEngine() {
- Context context = getApplicationContext();
- boolean usePerfetto =
- PreferenceManager.getDefaultSharedPreferences(context)
- .getBoolean(context.getString(R.string.pref_key_use_perfetto), true);
- TraceUtils.switchTraceEngine(
- usePerfetto ? PerfettoUtils.NAME : AtraceUtils.NAME);
- }
}
diff --git a/src/com/google/android/traceur/TraceUtils.java b/src/com/google/android/traceur/TraceUtils.java
index 6350795..924d193 100644
--- a/src/com/google/android/traceur/TraceUtils.java
+++ b/src/com/google/android/traceur/TraceUtils.java
@@ -41,7 +41,9 @@ public class TraceUtils {
public static final String TRACE_DIRECTORY = "/data/local/traces/";
- private static TraceEngine mTraceEngine = new AtraceUtils();
+ // To change Traceur to use atrace to collect traces,
+ // change mTraceEngine to point to AtraceUtils().
+ private static TraceEngine mTraceEngine = new PerfettoUtils();
private static final Runtime RUNTIME = Runtime.getRuntime();
@@ -55,26 +57,6 @@ public class TraceUtils {
public boolean isTracingOn();
}
- public static boolean switchTraceEngine(String newTraceEngine) {
- if (mTraceEngine.getName().equals(newTraceEngine)) {
- Log.e(TAG, "Tried to switch to use " + newTraceEngine
- + " for tracing, but you already were!");
- return true;
- }
-
- if (PerfettoUtils.NAME.equals(newTraceEngine)) {
- mTraceEngine = new PerfettoUtils();
- } else if (AtraceUtils.NAME.equals(newTraceEngine)) {
- mTraceEngine = new AtraceUtils();
- } else {
- throw new AssertionError("Tried to switch to use " + newTraceEngine
- + " for tracing, but I don't know what that is!");
- }
-
- Log.v(TAG, "Switched to using " + newTraceEngine + " for tracing!");
- return true;
- }
-
public static String currentTraceEngine() {
return mTraceEngine.getName();
}