| package com.android.tools.idea.gradle.eclipse; |
| |
| import com.intellij.ide.util.projectWizard.WizardContext; |
| import com.intellij.projectImport.ProjectImportWizardStep; |
| import com.intellij.ui.components.JBLabel; |
| import org.jetbrains.android.actions.RunAndroidSdkManagerAction; |
| |
| import javax.swing.*; |
| import java.awt.event.ActionEvent; |
| import java.awt.event.ActionListener; |
| import java.io.File; |
| |
| class AdtRepositoriesStep extends ProjectImportWizardStep implements ActionListener { |
| private JButton mySdkManagerButton; |
| private JBLabel myGoogleLabel; |
| private JBLabel mySupportLabel; |
| private JPanel myPanel; |
| private JButton myRefreshButton; |
| |
| AdtRepositoriesStep(WizardContext context) { |
| super(context); |
| |
| mySdkManagerButton.addActionListener(this); |
| } |
| |
| @Override |
| public JComponent getComponent() { |
| return myPanel; |
| } |
| |
| @Override |
| public void updateStep() { |
| super.updateStep(); |
| |
| GradleImport importer = AdtImportProvider.getImporter(getWizardContext()); |
| if (importer != null) { |
| mySupportLabel.setVisible(importer.needSupportRepository() && importer.isMissingSupportRepository()); |
| myGoogleLabel.setVisible(importer.needGoogleRepository() && importer.isMissingGoogleRepository()); |
| } |
| } |
| |
| @Override |
| public void updateDataModel() { |
| } |
| |
| @Override |
| public boolean isStepVisible() { |
| GradleImport importer = AdtImportProvider.getImporter(getWizardContext()); |
| if (importer != null) { |
| return importer.needGoogleRepository() && importer.isMissingGoogleRepository() || |
| importer.needSupportRepository() && importer.isMissingSupportRepository(); |
| } |
| |
| return false; |
| } |
| |
| @Override |
| public void actionPerformed(ActionEvent actionEvent) { |
| Object source = actionEvent.getSource(); |
| if (source == mySdkManagerButton) { |
| GradleImport importer = AdtImportProvider.getImporter(getWizardContext()); |
| if (importer != null) { |
| File location = importer.getSdkLocation(); |
| if (location != null) { |
| RunAndroidSdkManagerAction.runSpecificSdkManager(null, location); |
| } |
| } |
| } else if (source == myRefreshButton) { |
| updateStep(); |
| } |
| } |
| |
| @Override |
| public String getName() { |
| return "Missing Repositories"; |
| } |
| |
| @Override |
| public JComponent getPreferredFocusedComponent() { |
| return mySdkManagerButton; |
| } |
| } |