예제 #1
0
 public void init() {
   if (apps == null) apps = new DeviceApps();
   Enumeration<String> e1 = apps.getInstalled(false).elements();
   installed.clear();
   toremove.clear();
   toinstall.clear();
   available.clear();
   while (e1.hasMoreElements()) {
     String elem = e1.nextElement();
     installed.add(elem);
     //			ListItem li = new ListItem(elem, apps.getRealName(elem),Color.black,Color.white);
     //			listInstalledModel.addElement(li);
   }
   e1 = apps.getToBeRemoved(false).elements();
   while (e1.hasMoreElements()) {
     String elem = e1.nextElement();
     toremove.add(elem);
     //			ListItem li = new ListItem(elem, apps.getRealName(elem),Color.black,Color.white);
     //			listInstalledModel.addElement(li);
   }
   e1 = apps.getToBeInstalled(false).elements();
   while (e1.hasMoreElements()) {
     String elem = e1.nextElement();
     toinstall.add(elem);
     //			ListItem li = new ListItem(elem, apps.getRealName(elem),Color.black,Color.white);
     //			listInstalledModel.addElement(li);
   }
   e1 = apps.getRemoved(false).elements();
   while (e1.hasMoreElements()) {
     String elem = e1.nextElement();
     available.add(elem);
     //			ListItem li = new ListItem(elem, apps.getRealName(elem),Color.black,Color.white);
     //			listInstalledModel.addElement(li);
   }
 }
예제 #2
0
  /** Create contents of the dialog. */
  private void createContents() {
    shlDecruptWizard = new Shell(getParent(), getStyle());
    shlDecruptWizard.setSize(539, 497);
    shlDecruptWizard.setText("ROM Cleaner");
    shlDecruptWizard.setLayout(new FormLayout());

    listViewerInstalled = new ListViewer(shlDecruptWizard, SWT.BORDER | SWT.V_SCROLL | SWT.MULTI);
    listInstalled = listViewerInstalled.getList();
    listViewerInstalled.setSorter(new ViewerSorter());
    FormData fd_listInstalled = new FormData();
    fd_listInstalled.bottom = new FormAttachment(0, 229);
    fd_listInstalled.right = new FormAttachment(0, 223);
    fd_listInstalled.top = new FormAttachment(0, 71);
    fd_listInstalled.left = new FormAttachment(0, 10);
    listInstalled.setLayoutData(fd_listInstalled);

    listViewerInstalled.setContentProvider(
        new IStructuredContentProvider() {
          public Object[] getElements(Object inputElement) {
            Vector v = (Vector) inputElement;
            return v.toArray();
          }

          public void dispose() {}

          public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
        });
    listViewerInstalled.setLabelProvider(
        new LabelProvider() {
          public Image getImage(Object element) {
            return null;
          }

          public String getText(Object element) {
            return (String) element;
          }
        });

    Label lblInstalled = new Label(shlDecruptWizard, SWT.NONE);
    FormData fd_lblInstalled = new FormData();
    fd_lblInstalled.right = new FormAttachment(0, 173);
    fd_lblInstalled.top = new FormAttachment(0, 51);
    fd_lblInstalled.left = new FormAttachment(0, 10);
    lblInstalled.setLayoutData(fd_lblInstalled);
    lblInstalled.setText("Installed on device :");

    listViewerToRemove = new ListViewer(shlDecruptWizard, SWT.BORDER | SWT.V_SCROLL);
    listViewerToRemove.setSorter(new ViewerSorter());
    listToRemove = listViewerToRemove.getList();
    FormData fd_listToRemove = new FormData();
    fd_listToRemove.bottom = new FormAttachment(listInstalled, 0, SWT.BOTTOM);
    fd_listToRemove.top = new FormAttachment(listInstalled, 0, SWT.TOP);
    fd_listToRemove.right = new FormAttachment(0, 522);
    fd_listToRemove.left = new FormAttachment(0, 282);
    listToRemove.setLayoutData(fd_listToRemove);

    listViewerToRemove.setContentProvider(
        new IStructuredContentProvider() {
          public Object[] getElements(Object inputElement) {
            Vector v = (Vector) inputElement;
            return v.toArray();
          }

          public void dispose() {}

          public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
        });

    listViewerToRemove.setLabelProvider(
        new LabelProvider() {
          public Image getImage(Object element) {
            return null;
          }

          public String getText(Object element) {
            return (String) element;
          }
        });

    Label lbltoremove = new Label(shlDecruptWizard, SWT.NONE);
    FormData fd_lbltoremove = new FormData();
    fd_lbltoremove.right = new FormAttachment(0, 415);
    fd_lbltoremove.top = new FormAttachment(0, 51);
    fd_lbltoremove.left = new FormAttachment(0, 282);
    lbltoremove.setLayoutData(fd_lbltoremove);
    lbltoremove.setText("To be removed :");

    btnCancel = new Button(shlDecruptWizard, SWT.NONE);
    FormData fd_btnCancel = new FormData();
    fd_btnCancel.bottom = new FormAttachment(100, -10);
    fd_btnCancel.right = new FormAttachment(100, -10);
    btnCancel.setLayoutData(fd_btnCancel);
    btnCancel.addSelectionListener(
        new SelectionAdapter() {
          @Override
          public void widgetSelected(SelectionEvent e) {
            apps = null;
            shlDecruptWizard.dispose();
          }
        });
    btnCancel.setText("Cancel");

    Button btnClean = new Button(shlDecruptWizard, SWT.NONE);
    FormData fd_btnClean = new FormData();
    fd_btnClean.bottom = new FormAttachment(100, -10);
    fd_btnClean.right = new FormAttachment(btnCancel, -6);
    btnClean.setLayoutData(fd_btnClean);
    btnClean.addSelectionListener(
        new SelectionAdapter() {
          @Override
          public void widgetSelected(SelectionEvent e) {
            apps.saveProfile();
            shlDecruptWizard.dispose();
          }
        });
    btnClean.setText("Clean");

    Composite compositeProfile = new Composite(shlDecruptWizard, SWT.NONE);
    compositeProfile.setLayout(new GridLayout(2, false));
    FormData fd_compositeProfile = new FormData();
    fd_compositeProfile.bottom = new FormAttachment(lblInstalled, -6);
    fd_compositeProfile.top = new FormAttachment(0, 10);
    fd_compositeProfile.left = new FormAttachment(listInstalled, 0, SWT.LEFT);
    fd_compositeProfile.right = new FormAttachment(listToRemove, 0, SWT.RIGHT);
    compositeProfile.setLayoutData(fd_compositeProfile);

    Label lblProfile = new Label(compositeProfile, SWT.NONE);
    GridData gd_lblProfile = new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1);
    gd_lblProfile.widthHint = 92;
    lblProfile.setLayoutData(gd_lblProfile);
    lblProfile.setText("Profile :");

    comboProfile = new Combo(compositeProfile, SWT.READ_ONLY);
    comboProfile.addSelectionListener(
        new SelectionAdapter() {
          @Override
          public void widgetSelected(SelectionEvent e) {
            if (!apps.getCurrentProfile().equals(comboProfile.getText())) {
              apps.setProfile(comboProfile.getText());
              init();
              listViewerInstalled.refresh();
              listViewerToRemove.refresh();
              listViewerToInstall.refresh();
              listViewerAvailable.refresh();
            }
          }
        });
    comboProfile.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
    comboProfile.setText("default");

    Iterator<String> itprofiles = apps.getProfiles().iterator();
    while (itprofiles.hasNext()) {
      comboProfile.add(itprofiles.next());
    }
    comboProfile.select(comboProfile.indexOf("default"));

    compositeButtongroup1 = new Composite(shlDecruptWizard, SWT.NONE);
    compositeButtongroup1.setLayout(new GridLayout(1, false));
    FormData fd_compositeButtongroup1 = new FormData();
    fd_compositeButtongroup1.bottom = new FormAttachment(listInstalled, -36, SWT.BOTTOM);
    fd_compositeButtongroup1.top = new FormAttachment(compositeProfile, 61);
    fd_compositeButtongroup1.right = new FormAttachment(listToRemove, -6);
    fd_compositeButtongroup1.left = new FormAttachment(listInstalled, 5);
    compositeButtongroup1.setLayoutData(fd_compositeButtongroup1);

    Button btnAddToRemove = new Button(compositeButtongroup1, SWT.NONE);
    GridData gd_btnAddToRemove = new GridData(SWT.CENTER, SWT.CENTER, false, false, 1, 1);
    gd_btnAddToRemove.heightHint = 26;
    gd_btnAddToRemove.widthHint = 40;
    btnAddToRemove.setLayoutData(gd_btnAddToRemove);
    btnAddToRemove.addSelectionListener(
        new SelectionAdapter() {
          @Override
          public void widgetSelected(SelectionEvent e) {
            IStructuredSelection selection =
                (IStructuredSelection) listViewerInstalled.getSelection();
            Iterator i = selection.iterator();
            while (i.hasNext()) {
              String f = (String) i.next();
              installed.remove(f);
              toremove.add(f);
              apps.setSafe(apps.getApkName(f));
              listViewerInstalled.refresh();
              listViewerToRemove.refresh();
            }
          }
        });
    btnAddToRemove.setText("->");
    new Label(compositeButtongroup1, SWT.NONE);

    Button btnAddToInstalled = new Button(compositeButtongroup1, SWT.NONE);
    GridData gd_btnAddToInstalled = new GridData(SWT.CENTER, SWT.CENTER, false, false, 1, 1);
    gd_btnAddToInstalled.heightHint = 26;
    gd_btnAddToInstalled.widthHint = 40;
    btnAddToInstalled.setLayoutData(gd_btnAddToInstalled);
    btnAddToInstalled.addSelectionListener(
        new SelectionAdapter() {
          @Override
          public void widgetSelected(SelectionEvent e) {
            IStructuredSelection selection =
                (IStructuredSelection) listViewerToRemove.getSelection();
            Iterator i = selection.iterator();
            while (i.hasNext()) {
              String f = (String) i.next();
              toremove.remove(f);
              installed.add(f);
              apps.setUnsafe(apps.getApkName(f));
              listViewerInstalled.refresh();
              listViewerToRemove.refresh();
            }
          }
        });
    btnAddToInstalled.setText("<-");
    Label lblAvailable = new Label(shlDecruptWizard, SWT.NONE);
    FormData fd_lblAvailable = new FormData();
    fd_lblAvailable.top = new FormAttachment(listInstalled, 6);
    fd_lblAvailable.left = new FormAttachment(0, 10);
    lblAvailable.setLayoutData(fd_lblAvailable);
    lblAvailable.setText("Available for installation :");

    Label lblToInstall = new Label(shlDecruptWizard, SWT.NONE);
    FormData fd_lblToInstall = new FormData();
    fd_lblToInstall.top = new FormAttachment(listToRemove, 6);
    fd_lblToInstall.left = new FormAttachment(listToRemove, 0, SWT.LEFT);
    lblToInstall.setLayoutData(fd_lblToInstall);
    lblToInstall.setText("To be installed :");

    listViewerAvailable = new ListViewer(shlDecruptWizard, SWT.BORDER | SWT.V_SCROLL);
    listViewerAvailable.setSorter(new ViewerSorter());
    List listAvailable = listViewerAvailable.getList();
    FormData fd_listAvailable = new FormData();
    fd_listAvailable.top = new FormAttachment(lblAvailable, 6);
    fd_listAvailable.right = new FormAttachment(listInstalled, 0, SWT.RIGHT);
    fd_listAvailable.left = new FormAttachment(0, 10);
    listAvailable.setLayoutData(fd_listAvailable);
    listViewerAvailable.setContentProvider(
        new IStructuredContentProvider() {
          public Object[] getElements(Object inputElement) {
            Vector v = (Vector) inputElement;
            return v.toArray();
          }

          public void dispose() {}

          public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
        });

    listViewerAvailable.setLabelProvider(
        new LabelProvider() {
          public Image getImage(Object element) {
            return null;
          }

          public String getText(Object element) {
            return (String) element;
          }
        });

    listViewerToInstall = new ListViewer(shlDecruptWizard, SWT.BORDER | SWT.V_SCROLL);
    listViewerToInstall.setSorter(new ViewerSorter());
    List listToInstall = listViewerToInstall.getList();
    fd_listAvailable.bottom = new FormAttachment(listToInstall, 0, SWT.BOTTOM);
    FormData fd_listToInstall = new FormData();
    fd_listToInstall.bottom = new FormAttachment(btnCancel, -6);
    fd_listToInstall.top = new FormAttachment(lblToInstall, 6);
    fd_listToInstall.left = new FormAttachment(listToRemove, 0, SWT.LEFT);
    fd_listToInstall.right = new FormAttachment(100, -11);
    listToInstall.setLayoutData(fd_listToInstall);

    listViewerToInstall.setContentProvider(
        new IStructuredContentProvider() {
          public Object[] getElements(Object inputElement) {
            Vector v = (Vector) inputElement;
            return v.toArray();
          }

          public void dispose() {}

          public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
        });

    listViewerToInstall.setLabelProvider(
        new LabelProvider() {
          public Image getImage(Object element) {
            return null;
          }

          public String getText(Object element) {
            return (String) element;
          }
        });

    Composite compositeButtongroup2 = new Composite(shlDecruptWizard, SWT.NONE);
    compositeButtongroup2.setLayout(new GridLayout(1, false));
    FormData fd_compositeButtongroup2 = new FormData();
    fd_compositeButtongroup2.bottom = new FormAttachment(100, -89);
    fd_compositeButtongroup2.right = new FormAttachment(compositeButtongroup1, 0, SWT.RIGHT);
    compositeButtongroup2.setLayoutData(fd_compositeButtongroup2);

    Button btnAddToBeInstalled = new Button(compositeButtongroup2, SWT.NONE);
    GridData gd_btnAddToBeInstalled = new GridData(SWT.CENTER, SWT.CENTER, false, false, 1, 1);
    gd_btnAddToBeInstalled.widthHint = 40;
    gd_btnAddToBeInstalled.heightHint = 26;
    btnAddToBeInstalled.setLayoutData(gd_btnAddToBeInstalled);
    btnAddToBeInstalled.setText("->");
    new Label(compositeProfile, SWT.NONE);
    btnAddToBeInstalled.addSelectionListener(
        new SelectionAdapter() {
          @Override
          public void widgetSelected(SelectionEvent e) {
            IStructuredSelection selection =
                (IStructuredSelection) listViewerAvailable.getSelection();
            Iterator i = selection.iterator();
            while (i.hasNext()) {
              String f = (String) i.next();
              toinstall.add(f);
              available.remove(f);
              apps.setUnsafe(apps.getApkName(f));
              listViewerToInstall.refresh();
              listViewerAvailable.refresh();
            }
          }
        });

    Button btnAddToAvailable = new Button(compositeButtongroup2, SWT.NONE);
    GridData gd_btnAddToAvailable = new GridData(SWT.CENTER, SWT.CENTER, false, false, 1, 1);
    gd_btnAddToAvailable.widthHint = 40;
    gd_btnAddToAvailable.heightHint = 26;
    btnAddToAvailable.setLayoutData(gd_btnAddToAvailable);
    btnAddToAvailable.setText("<-");
    new Label(compositeProfile, SWT.NONE);
    btnAddToAvailable.addSelectionListener(
        new SelectionAdapter() {
          @Override
          public void widgetSelected(SelectionEvent e) {
            IStructuredSelection selection =
                (IStructuredSelection) listViewerToInstall.getSelection();
            Iterator i = selection.iterator();
            while (i.hasNext()) {
              String f = (String) i.next();
              toinstall.remove(f);
              available.add(f);
              apps.setSafe(apps.getApkName(f));
              listViewerToInstall.refresh();
              listViewerAvailable.refresh();
            }
          }
        });
    listViewerInstalled.setInput(installed);
    listViewerToRemove.setInput(toremove);
    listViewerToInstall.setInput(toinstall);
    listViewerAvailable.setInput(available);
  }