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:
committed by
Facebook Github Bot
parent
e306ecda19
commit
fb772d3f81
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user