Move TableMetadata serialization into its class

Summary: Where it should be.

Reviewed By: danielbuechele

Differential Revision: D14833499

fbshipit-source-id: 7af951a402756ddde6d9672ca733a2c910d4ddb4
This commit is contained in:
John Knox
2019-04-08 11:38:56 -07:00
committed by Facebook Github Bot
parent e306ecda19
commit fb772d3f81
2 changed files with 26 additions and 21 deletions

View File

@@ -1,12 +1,36 @@
package com.facebook.flipper.nativeplugins.table;
import androidx.annotation.Nullable;
import com.facebook.flipper.core.FlipperArray;
import com.facebook.flipper.core.FlipperObject;
public class TableMetadata {
final Column[] mColumns;
final QueryableTableRowProvider mResponder;
FlipperObject serialize() {
final FlipperObject.Builder columns = new FlipperObject.Builder();
final FlipperObject.Builder columnSizes = new FlipperObject.Builder();
final FlipperArray.Builder columnOrder = new FlipperArray.Builder();
final FlipperArray.Builder filterableColumns = new FlipperArray.Builder();
for (Column c : mColumns) {
columns.put(c.id, new FlipperObject.Builder().put("value", c.displayName).build());
columnSizes.put(c.id, c.displayWidth);
columnOrder.put(new FlipperObject.Builder().put("key", c.id).put("visible", c.showByDefault));
if (c.isFilterable) {
filterableColumns.put(c.id);
}
}
return new FlipperObject.Builder()
.put("columns", columns.build())
.put("columnSizes", columnSizes.build())
.put("columnOrder", columnOrder.build())
.put("filterableColumns", filterableColumns.build())
.build();
}
private TableMetadata(
@Nullable Column[] columns, @Nullable QueryableTableRowProvider queryResponder) {
this.mColumns = columns == null ? new Column[] {} : columns;

View File

@@ -18,27 +18,8 @@ public class TableRowDisplayImpl implements TableRowDisplay {
new FlipperReceiver() {
@Override
public void onReceive(FlipperObject params, FlipperResponder responder) throws Exception {
final FlipperObject.Builder columns = new FlipperObject.Builder();
final FlipperObject.Builder columnSizes = new FlipperObject.Builder();
final FlipperArray.Builder columnOrder = new FlipperArray.Builder();
final FlipperArray.Builder filterableColumns = new FlipperArray.Builder();
for (Column c : subscriber.getMetadata().mColumns) {
columns.put(c.id, new FlipperObject.Builder().put("value", c.displayName).build());
columnSizes.put(c.id, c.displayWidth);
columnOrder.put(
new FlipperObject.Builder().put("key", c.id).put("visible", c.showByDefault));
if (c.isFilterable) {
filterableColumns.put(c.id);
}
}
responder.success(
new FlipperObject.Builder()
.put("columns", columns.build())
.put("columnSizes", columnSizes.build())
.put("columnOrder", columnOrder.build())
.put("filterableColumns", filterableColumns.build())
.build());
final FlipperObject metadata = subscriber.getMetadata().serialize();
responder.success(metadata);
}
});
}