Set up text filter to allow for correct emoji display

Reviewed By: jknoxville

Differential Revision: D14640808

fbshipit-source-id: 9ecdb15f32143f5615d5763b9da79c581698acc5
This commit is contained in:
Pascal Hartig
2019-03-28 03:09:14 -07:00
committed by Facebook Github Bot
parent 56d597985d
commit 0b72c6082f
2 changed files with 18 additions and 5 deletions

View File

@@ -35,13 +35,14 @@ public class FlipperDiagnosticFragment extends Fragment implements FlipperStateU
Button mReportButton; Button mReportButton;
@Nullable FlipperDiagnosticReportListener mReportCallback; @Nullable FlipperDiagnosticReportListener mReportCallback;
@Nullable FlipperDiagnosticSummaryTextFilter mDiagnosticSummaryTextFilter;
private final View.OnClickListener mOnBugReportClickListener = private final View.OnClickListener mOnBugReportClickListener =
new View.OnClickListener() { new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
mReportCallback.report( mReportCallback.report(
AndroidFlipperClient.getInstance(getContext()).getState(), getSummary()); AndroidFlipperClient.getInstance(getContext()).getState(), getSummary().toString());
} }
}; };
@@ -96,7 +97,10 @@ public class FlipperDiagnosticFragment extends Fragment implements FlipperStateU
@Override @Override
public void onUpdate() { public void onUpdate() {
final String state = AndroidFlipperClient.getInstance(getContext()).getState(); final String state = AndroidFlipperClient.getInstance(getContext()).getState();
final String summary = getSummary(); final CharSequence summary =
mDiagnosticSummaryTextFilter == null
? getSummary()
: mDiagnosticSummaryTextFilter.applyDiagnosticSummaryTextFilter(getSummary());
final Activity activity = getActivity(); final Activity activity = getActivity();
if (activity != null) { if (activity != null) {
@@ -112,10 +116,10 @@ public class FlipperDiagnosticFragment extends Fragment implements FlipperStateU
} }
} }
String getSummary() { CharSequence getSummary() {
final Context context = getContext(); final Context context = getContext();
final StateSummary summary = AndroidFlipperClient.getInstance(context).getStateSummary(); final StateSummary summary = AndroidFlipperClient.getInstance(context).getStateSummary();
final StringBuilder stateText = new StringBuilder(); final StringBuilder stateText = new StringBuilder(16);
for (StateElement e : summary.mList) { for (StateElement e : summary.mList) {
final String status; final String status;
switch (e.getState()) { switch (e.getState()) {
@@ -132,7 +136,7 @@ public class FlipperDiagnosticFragment extends Fragment implements FlipperStateU
default: default:
status = ""; status = "";
} }
stateText.append(status).append(e.getName()).append("\n"); stateText.append(status).append(e.getName()).append('\n');
} }
return stateText.toString(); return stateText.toString();
} }
@@ -151,5 +155,8 @@ public class FlipperDiagnosticFragment extends Fragment implements FlipperStateU
if (context instanceof FlipperDiagnosticReportListener) { if (context instanceof FlipperDiagnosticReportListener) {
mReportCallback = (FlipperDiagnosticReportListener) context; mReportCallback = (FlipperDiagnosticReportListener) context;
} }
if (context instanceof FlipperDiagnosticSummaryTextFilter) {
mDiagnosticSummaryTextFilter = (FlipperDiagnosticSummaryTextFilter) context;
}
} }
} }

View File

@@ -0,0 +1,6 @@
package com.facebook.flipper.android.diagnostics;
public interface FlipperDiagnosticSummaryTextFilter {
/** Reformat the string display of the summary if necessary. */
CharSequence applyDiagnosticSummaryTextFilter(CharSequence summary);
}