feat:add debug option stop debugging
This commit is contained in:
parent
4e5b1c94bf
commit
de4188b74e
@ -299,16 +299,19 @@ public class DoricDevActivity extends AppCompatActivity implements DoricDev.Stat
|
||||
holder.layoutBtn.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
final String[] items = DoricDev.getInstance().isInDevMode()
|
||||
? new String[]{"View source",}
|
||||
: new String[]{"View source",};
|
||||
ArrayList<String> list = new ArrayList<>();
|
||||
list.add("View source");
|
||||
if (context.getDriver() instanceof DoricDebugDriver) {
|
||||
list.add("Stop debugging");
|
||||
}
|
||||
final String[] items = list.toArray(new String[0]);
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(holder.itemView.getContext(), R.style.Theme_Doric_Modal);
|
||||
builder.setTitle(String.format("%s %s", context.getContextId(), context.getSource()));
|
||||
builder.setIcon(new BitmapDrawable(holder.itemView.getContext().getResources(), icon_on));
|
||||
builder.setItems(items, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
if (which == 0) {
|
||||
if ("View source".equals(items[which])) {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(holder.itemView.getContext(), R.style.Theme_Doric_Modal_Alert);
|
||||
builder.setTitle(String.format(Locale.getDefault(),
|
||||
"View source: %s",
|
||||
@ -328,6 +331,8 @@ public class DoricDevActivity extends AppCompatActivity implements DoricDev.Stat
|
||||
});
|
||||
builder.setCancelable(false);
|
||||
builder.show();
|
||||
} else if ("Stop debugging".equals(items[which])) {
|
||||
DoricDev.getInstance().stopDebugging(true);
|
||||
}
|
||||
dialog.dismiss();
|
||||
}
|
||||
|
@ -105,6 +105,13 @@ - (void)onClick {
|
||||
}];
|
||||
[alertController addAction:cancel];
|
||||
[alertController addAction:viewSource];
|
||||
if ([self.doricContext.driver isKindOfClass:DoricDebugDriver.class]) {
|
||||
UIAlertAction *stopDebugging = [UIAlertAction actionWithTitle:@"Stop debugging" style:UIAlertActionStyleDefault handler:^(UIAlertAction *_) {
|
||||
[DoricDev.instance stopDebugging:YES];
|
||||
}];
|
||||
[alertController addAction:stopDebugging];
|
||||
}
|
||||
|
||||
[self.vc presentViewController:alertController animated:true completion:nil];
|
||||
}
|
||||
@end
|
||||
@ -311,11 +318,15 @@ - (UIImage *)decodeImage:(BOOL)on {
|
||||
return [UIImage imageWithData:imageData];
|
||||
}
|
||||
|
||||
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||||
- (NSInteger)tableView:(UITableView *)tableView
|
||||
numberOfRowsInSection:
|
||||
(NSInteger)section {
|
||||
return [DoricContextManager.instance aliveContexts].count;
|
||||
}
|
||||
|
||||
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
- (UITableViewCell *)tableView:(UITableView *)tableView
|
||||
cellForRowAtIndexPath:
|
||||
(NSIndexPath *)indexPath {
|
||||
DoricContextCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
|
||||
if (cell == nil) {
|
||||
cell = [[DoricContextCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"];
|
||||
@ -351,7 +362,9 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N
|
||||
return cell;
|
||||
}
|
||||
|
||||
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
- (CGFloat) tableView:(UITableView *)tableView
|
||||
heightForRowAtIndexPath:
|
||||
(NSIndexPath *)indexPath {
|
||||
return 60.f;
|
||||
}
|
||||
|
||||
@ -375,7 +388,9 @@ - (void)onFailure:(NSError *)error {
|
||||
[self.listView reloadData];
|
||||
}
|
||||
|
||||
- (void)onReload:(DoricContext *)context script:(NSString *)script {
|
||||
- (void)onReload:(DoricContext *)context
|
||||
script:
|
||||
(NSString *)script {
|
||||
[self.listView reloadData];
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user