From 038c5fee08535cca30f94d90a423992cb7772e12 Mon Sep 17 00:00:00 2001 From: "jihye424.kim" Date: Fri, 16 Oct 2015 15:46:33 +0900 Subject: [PATCH] Device Template: setting default device template - setting default device template among standard device template list of profile - find default device template of top priority profile and send to 'DeviceTemplateModifyDialog' when create device template Change-Id: I6f5132a7113473d58e6ddae686311ab6c41a793a Signed-off-by: jihye424.kim --- devices/360x480-Wearable.xml | 2 +- .../tizen/emulator/manager/platform/Profile.java | 27 +++++++++++++++++++- .../tableviewer/DeviceTemplateTableViewer.java | 29 +++++++++++++++++++++- 3 files changed, 55 insertions(+), 3 deletions(-) diff --git a/devices/360x480-Wearable.xml b/devices/360x480-Wearable.xml index 3eea0c6..3c4fd2e 100644 --- a/devices/360x480-Wearable.xml +++ b/devices/360x480-Wearable.xml @@ -5,7 +5,7 @@ standard wearable 1.0 - 1 + 0 diff --git a/src/org/tizen/emulator/manager/platform/Profile.java b/src/org/tizen/emulator/manager/platform/Profile.java index 6dd226d..a88895c 100644 --- a/src/org/tizen/emulator/manager/platform/Profile.java +++ b/src/org/tizen/emulator/manager/platform/Profile.java @@ -60,6 +60,7 @@ public class Profile { private int priority = 10; private boolean isSortTemplateList = false; + private DeviceTemplate defaultTemplate = null; public Profile(String name) { this.name = name; @@ -276,8 +277,14 @@ public class Profile { public void sortTemplateList() { TemplatePair[] pairs = new TemplatePair[templateList.size()]; + defaultTemplate = null; + for (int i = 0; i < templateList.size(); i++) { pairs[i] = new TemplatePair(templateList.get(i)); + // setting default template + if (templateList.get(i).getValue().getPriority() == 0) { + defaultTemplate = templateList.get(i); + } } Arrays.sort(pairs); @@ -285,6 +292,8 @@ public class Profile { for (int i = 0; i < templateList.size(); i++) { templateList.set(i, pairs[i].template); } + + isSortTemplateList = true; } public void clearTemplateList() { @@ -295,8 +304,8 @@ public class Profile { public List getTemplateList() { if (!isSortTemplateList) { sortTemplateList(); - isSortTemplateList = true; } + return templateList; } @@ -317,6 +326,22 @@ public class Profile { templateList.remove(template); } + public DeviceTemplate getDefaultTemplate() { + if (!isSortTemplateList) { + sortTemplateList(); + } + + if (defaultTemplate == null && !templateList.isEmpty()) { + defaultTemplate = templateList.get(0); + } + + return defaultTemplate; + } + + public void setDefaultTemplate(DeviceTemplate defaultTemplate) { + this.defaultTemplate = defaultTemplate; + } + static class PlatformPair implements Comparable { Platform prop; diff --git a/src/org/tizen/emulator/manager/ui/renewal/tableviewer/DeviceTemplateTableViewer.java b/src/org/tizen/emulator/manager/ui/renewal/tableviewer/DeviceTemplateTableViewer.java index 8cf86d8..893604d 100644 --- a/src/org/tizen/emulator/manager/ui/renewal/tableviewer/DeviceTemplateTableViewer.java +++ b/src/org/tizen/emulator/manager/ui/renewal/tableviewer/DeviceTemplateTableViewer.java @@ -603,16 +603,43 @@ public class DeviceTemplateTableViewer extends AbstractTableViewer { cloneButton.setEnabled(false); } + private ProfileButton findTopPriorityProfileButton() { + ProfileButton target = null; + for (ProfileButton pButton: profileButtonList) { + if (target == null) { + if (pButton.getProfile() != null) { + target = pButton; + } + } else { + if (pButton.getProfile() == null) { + continue; + } + + if (target.getProfile().getPriority() + > pButton.getProfile().getPriority()) { + target = pButton; + } + } + } + return target; + } + private void createDeviceTemplate(TableItem item) { DeviceTemplateValue value = null; if (item != null) { DeviceTemplate template = (DeviceTemplate)item.getData(); value = template.getValue(); + } else { + // finding default template + ProfileButton pButton = findTopPriorityProfileButton(); + if (pButton != null) { + value = pButton.getProfile().getDefaultTemplate().getValue(); + } } // open create dialog DeviceTemplateValue newValue = null; - if (value == null) { + if (item == null) { newValue = DeviceTemplateDialogHandler.create(value); } else { newValue = DeviceTemplateDialogHandler.clone(value); -- 2.7.4