summaryrefslogtreecommitdiff
path: root/android/ultimate/src
diff options
context:
space:
mode:
authorTor Norbye <tnorbye@google.com>2014-07-25 12:31:06 -0700
committerTor Norbye <tnorbye@google.com>2014-07-25 12:31:06 -0700
commit2f7c28226a711afe9df0fdd01b48fcf0ef3c9bf5 (patch)
tree95364504399178e3af845a730cbeba6ca7bf050e /android/ultimate/src
parent1fefae80329a90499a09b4736e25ea359928c2b7 (diff)
parenta7656b1cf811755cb18d45e60bb4a914342f931b (diff)
downloadidea-2f7c28226a711afe9df0fdd01b48fcf0ef3c9bf5.tar.gz
Merge remote-tracking branch 'aosp/upstream-master' into merge-upstream
Diffstat (limited to 'android/ultimate/src')
-rw-r--r--android/ultimate/src/org/jetbrains/android/database/AndroidDataSource.java109
-rw-r--r--android/ultimate/src/org/jetbrains/android/database/AndroidDataSourceProjectComponent.java7
-rw-r--r--android/ultimate/src/org/jetbrains/android/database/AndroidDataSourcePropertiesDialog.java19
-rw-r--r--android/ultimate/src/org/jetbrains/android/database/AndroidDataSourceStorage.java2
-rw-r--r--android/ultimate/src/org/jetbrains/android/database/AndroidDbManager.java2
-rw-r--r--android/ultimate/src/org/jetbrains/android/database/AndroidDbUtil.java13
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