diff options
author | Tor Norbye <tnorbye@google.com> | 2014-07-25 12:31:06 -0700 |
---|---|---|
committer | Tor Norbye <tnorbye@google.com> | 2014-07-25 12:31:06 -0700 |
commit | 2f7c28226a711afe9df0fdd01b48fcf0ef3c9bf5 (patch) | |
tree | 95364504399178e3af845a730cbeba6ca7bf050e /android/ultimate/src | |
parent | 1fefae80329a90499a09b4736e25ea359928c2b7 (diff) | |
parent | a7656b1cf811755cb18d45e60bb4a914342f931b (diff) | |
download | idea-2f7c28226a711afe9df0fdd01b48fcf0ef3c9bf5.tar.gz |
Merge remote-tracking branch 'aosp/upstream-master' into merge-upstream
Diffstat (limited to 'android/ultimate/src')
6 files changed, 59 insertions, 93 deletions
diff --git a/android/ultimate/src/org/jetbrains/android/database/AndroidDataSource.java b/android/ultimate/src/org/jetbrains/android/database/AndroidDataSource.java index 0fe29fa867e..9e40a8511aa 100644 --- a/android/ultimate/src/org/jetbrains/android/database/AndroidDataSource.java +++ b/android/ultimate/src/org/jetbrains/android/database/AndroidDataSource.java @@ -16,7 +16,6 @@ import com.intellij.util.xmlb.annotations.Tag; import icons.AndroidIcons; import org.jdom.Element; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; import javax.swing.*; import java.io.IOException; @@ -32,8 +31,8 @@ class AndroidDataSource extends LocalDataSource implements DataSourceInfo, Modif private State myState = new State(); - public AndroidDataSource(@Nullable String name) { - super(name, "org.sqlite.JDBC", "", null, null); + public AndroidDataSource() { + super("", "org.sqlite.JDBC", "", null, null); } @NotNull @@ -43,14 +42,17 @@ class AndroidDataSource extends LocalDataSource implements DataSourceInfo, Modif @NotNull public State buildFullState() { - myState.setName(getName()); - myState.setClasspathElements(serializeClasspathElements()); + myState.name = getName(); + //myState.uuid = getUniqueId(); + myState.classpathElements = serializeClasspathElements(); return myState; } public void loadState(@NotNull State state) { myState = state; - setName(state.getName()); + setName(state.name); + // todo persist uuid must be preserved between sessions + //setUniqueId(state.uuid); setClasspathElements(deserializeClasspathElements()); resetUrl(); } @@ -80,7 +82,7 @@ class AndroidDataSource extends LocalDataSource implements DataSourceInfo, Modif @NotNull private List<SimpleClasspathElement> deserializeClasspathElements() { - final Element[] serializedElements = myState.getClasspathElements(); + final Element[] serializedElements = myState.classpathElements; if (serializedElements == null || serializedElements.length == 0) { return Collections.emptyList(); @@ -107,7 +109,7 @@ class AndroidDataSource extends LocalDataSource implements DataSourceInfo, Modif public String buildLocalDbFileOsPath() { final State state = getState(); return AndroidRemoteDataBaseManager.buildLocalDbFileOsPath( - state.getDeviceId(), state.getPackageName(), state.getDatabaseName(), state.isExternal()); + state.deviceId, state.packageName, state.databaseName, state.external); } @Override @@ -117,15 +119,16 @@ class AndroidDataSource extends LocalDataSource implements DataSourceInfo, Modif @NotNull public AndroidDataSource copy() { - final AndroidDataSource newSource = new AndroidDataSource(getName()); - final State newState = newSource.getState(); - final State state = buildFullState(); - newState.setName(state.getName()); - newState.setDeviceId(state.getDeviceId()); - newState.setPackageName(state.getPackageName()); - newState.setDatabaseName(state.getDatabaseName()); - newState.setExternal(state.isExternal()); - newState.setClasspathElements(cloneElementsArray(state.getClasspathElements())); + AndroidDataSource newSource = new AndroidDataSource(); + newSource.setName(getName()); + State newState = newSource.getState(); + State state = buildFullState(); + newState.name = state.name; + newState.deviceId = state.deviceId; + newState.packageName = state.packageName; + newState.databaseName = state.databaseName; + newState.external = state.external; + newState.classpathElements = cloneElementsArray(state.classpathElements); newSource.resetUrl(); return newSource; } @@ -155,71 +158,25 @@ class AndroidDataSource extends LocalDataSource implements DataSourceInfo, Modif if (!(o instanceof AndroidDataSource)) return super.equalConfiguration(o); State s = ((AndroidDataSource)o).getState(); - if (!Comparing.equal(myState.myDeviceId, s.myDeviceId)) return false; - if (!Comparing.equal(myState.myPackageName, s.myPackageName)) return false; - if (!Comparing.equal(myState.myDatabaseName, s.myDatabaseName)) return false; - if (!Comparing.equal(myState.myExternal, s.myExternal)) return false; - if (!Comparing.equal(myState.myExternal, s.myExternal)) return false; + if (!Comparing.equal(myState.deviceId, s.deviceId)) return false; + if (!Comparing.equal(myState.packageName, s.packageName)) return false; + if (!Comparing.equal(myState.databaseName, s.databaseName)) return false; + if (!Comparing.equal(myState.external, s.external)) return false; + if (!Comparing.equal(myState.external, s.external)) return false; return true; } @Tag("data-source") public static class State { - private String myName = ""; - private String myDeviceId = ""; - private String myPackageName = ""; - private String myDatabaseName = ""; - private boolean myExternal = false; - private Element[] myClasspathElements = new Element[0]; - - public String getDeviceId() { - return myDeviceId; - } - - public String getDatabaseName() { - return myDatabaseName; - } - - public String getPackageName() { - return myPackageName; - } - - public String getName() { - return myName; - } - - public boolean isExternal() { - return myExternal; - } - + //@Attribute + //public String uuid = ""; + public String deviceId = ""; + public String name = ""; + public String packageName = ""; + public String databaseName = ""; + public boolean external = false; @Tag("classpath-elements") - public Element[] getClasspathElements() { - return myClasspathElements; - } - - public void setDeviceId(String deviceId) { - myDeviceId = deviceId; - } - - public void setDatabaseName(String databaseName) { - myDatabaseName = databaseName; - } - - public void setPackageName(String packageName) { - myPackageName = packageName; - } - - public void setExternal(boolean external) { - myExternal = external; - } - - public void setName(String name) { - myName = name; - } - - public void setClasspathElements(Element[] classpathElements) { - myClasspathElements = classpathElements; - } + public Element[] classpathElements = new Element[0]; } } diff --git a/android/ultimate/src/org/jetbrains/android/database/AndroidDataSourceProjectComponent.java b/android/ultimate/src/org/jetbrains/android/database/AndroidDataSourceProjectComponent.java index 70718e499f0..17d77f098e2 100644 --- a/android/ultimate/src/org/jetbrains/android/database/AndroidDataSourceProjectComponent.java +++ b/android/ultimate/src/org/jetbrains/android/database/AndroidDataSourceProjectComponent.java @@ -45,7 +45,12 @@ public class AndroidDataSourceProjectComponent extends AbstractProjectComponent for (AndroidDataSource source : AndroidDataSourceStorage.getInstance(myProject).getDataSources()) { final AndroidDataSource.State s = source.getState(); - result.add(new AndroidRemoteDbInfo(s.getDeviceId(), s.getPackageName(), s.getDatabaseName(), s.isExternal())); + String deviceId = s.deviceId; + + if (deviceId == null) { + deviceId = ""; + } + result.add(new AndroidRemoteDbInfo(deviceId, s.packageName, s.databaseName, s.external)); } return result; } diff --git a/android/ultimate/src/org/jetbrains/android/database/AndroidDataSourcePropertiesDialog.java b/android/ultimate/src/org/jetbrains/android/database/AndroidDataSourcePropertiesDialog.java index 96e0c00462d..d86b8853204 100644 --- a/android/ultimate/src/org/jetbrains/android/database/AndroidDataSourcePropertiesDialog.java +++ b/android/ultimate/src/org/jetbrains/android/database/AndroidDataSourcePropertiesDialog.java @@ -7,6 +7,7 @@ import com.android.ddmlib.MultiLineReceiver; import com.android.tools.idea.ddms.DeviceComboBoxRenderer; import com.intellij.database.dataSource.AbstractDataSourceConfigurable; import com.intellij.database.dataSource.DatabaseDriver; +import com.intellij.database.util.DbImplUtil; import com.intellij.facet.ProjectFacetManager; import com.intellij.javaee.dataSource.AbstractDataSourceConfigurable; import com.intellij.javaee.dataSource.DatabaseDriver; @@ -185,7 +186,7 @@ public class AndroidDataSourcePropertiesDialog extends AbstractDataSourceConfigu private void loadDevices() { final AndroidDebugBridge bridge = AndroidSdkUtils.getDebugBridge(myProject); final IDevice[] devices = bridge != null ? getDevicesWithValidDeviceId(bridge) : new IDevice[0]; - final String deviceId = myDataSource.getState().getDeviceId(); + final String deviceId = myDataSource.getState().deviceId; final DefaultComboBoxModel model = new DefaultComboBoxModel(devices); Object selectedItem = null; @@ -348,10 +349,10 @@ public class AndroidDataSourcePropertiesDialog extends AbstractDataSourceConfigu public void saveData(@NotNull AndroidDataSource dataSource) { dataSource.setName(getNameValue()); AndroidDataSource.State state = dataSource.getState(); - state.setDeviceId(getSelectedDeviceId()); - state.setPackageName(getSelectedPackage()); - state.setDatabaseName(getSelectedDatabase()); - state.setExternal(myExternalStorageRadioButton.isSelected()); + state.deviceId = getSelectedDeviceId(); + state.packageName = getSelectedPackage(); + state.databaseName = getSelectedDatabase(); + state.external = myExternalStorageRadioButton.isSelected(); dataSource.resetUrl(); } @@ -373,11 +374,11 @@ public class AndroidDataSourcePropertiesDialog extends AbstractDataSourceConfigu AndroidDataSource.State state = myDataSource.getState(); myNameField.setText(StringUtil.notNullize(myDataSource.getName())); - myInternalStorageRadioButton.setSelected(!state.isExternal()); - myExternalStorageRadioButton.setSelected(state.isExternal()); + myInternalStorageRadioButton.setSelected(!state.external); + myExternalStorageRadioButton.setSelected(state.external); - myPackageNameComboBox.getEditor().setItem(StringUtil.notNullize(state.getPackageName())); - myDataBaseComboBox.getEditor().setItem(StringUtil.notNullize(state.getDatabaseName())); + myPackageNameComboBox.getEditor().setItem(StringUtil.notNullize(state.packageName)); + myDataBaseComboBox.getEditor().setItem(StringUtil.notNullize(state.databaseName)); } private void registerDeviceListener() { diff --git a/android/ultimate/src/org/jetbrains/android/database/AndroidDataSourceStorage.java b/android/ultimate/src/org/jetbrains/android/database/AndroidDataSourceStorage.java index ff7f387487e..7875fec70aa 100644 --- a/android/ultimate/src/org/jetbrains/android/database/AndroidDataSourceStorage.java +++ b/android/ultimate/src/org/jetbrains/android/database/AndroidDataSourceStorage.java @@ -35,7 +35,7 @@ public class AndroidDataSourceStorage implements PersistentStateComponent<Androi public void loadState(State state) { myDataSources.clear(); for (AndroidDataSource.State dataSourceState : state.myDataSources) { - AndroidDataSource dataSource = new AndroidDataSource(null); + AndroidDataSource dataSource = new AndroidDataSource(); dataSource.loadState(dataSourceState); addDataSource(dataSource); } diff --git a/android/ultimate/src/org/jetbrains/android/database/AndroidDbManager.java b/android/ultimate/src/org/jetbrains/android/database/AndroidDbManager.java index 895aef023f9..7a98f604c51 100644 --- a/android/ultimate/src/org/jetbrains/android/database/AndroidDbManager.java +++ b/android/ultimate/src/org/jetbrains/android/database/AndroidDbManager.java @@ -186,7 +186,7 @@ public class AndroidDbManager extends BasicDbPsiManager<AndroidDataSource> { result = ((AndroidDataSource)copyFrom).copy(); } else { - result = new AndroidDataSource(""); + result = new AndroidDataSource(); } result.setName(StringUtil.notNullize(newName, getName())); result.resolveDriver(); diff --git a/android/ultimate/src/org/jetbrains/android/database/AndroidDbUtil.java b/android/ultimate/src/org/jetbrains/android/database/AndroidDbUtil.java index 23d8ad291a6..b2d703046f0 100644 --- a/android/ultimate/src/org/jetbrains/android/database/AndroidDbUtil.java +++ b/android/ultimate/src/org/jetbrains/android/database/AndroidDbUtil.java @@ -1,6 +1,9 @@ package org.jetbrains.android.database; -import com.android.ddmlib.*; +import com.android.ddmlib.AndroidDebugBridge; +import com.android.ddmlib.IDevice; +import com.android.ddmlib.MultiLineReceiver; +import com.android.ddmlib.SyncService; import com.android.tools.idea.ddms.DevicePropertyUtil; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.progress.ProgressIndicator; @@ -166,7 +169,7 @@ class AndroidDbUtil { @NotNull AndroidDebugBridge debugBridge, @NotNull AndroidDbErrorReporter errorReporter) { final AndroidDataSource.State state = dataSource.getState(); - final String deviceId = state.getDeviceId(); + final String deviceId = state.deviceId; if (deviceId == null) { errorReporter.reportError("device is not specified"); @@ -182,19 +185,19 @@ class AndroidDbUtil { errorReporter.reportError("the device is not online"); return null; } - final String packageName = dataSource.getState().getPackageName(); + final String packageName = dataSource.getState().packageName; if (packageName == null || packageName.length() == 0) { errorReporter.reportError("package name is not specified"); return null; } - final String dbName = dataSource.getState().getDatabaseName(); + final String dbName = dataSource.getState().databaseName; if (dbName == null || dbName.length() == 0) { errorReporter.reportError("database name is not specified"); return null; } - return new AndroidDbConnectionInfo(device, packageName, dbName, dataSource.getState().isExternal()); + return new AndroidDbConnectionInfo(device, packageName, dbName, dataSource.getState().external); } @Nullable |