summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/deviceinfo
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2008-12-17 18:06:01 -0800
committerThe Android Open Source Project <initial-contribution@android.com>2008-12-17 18:06:01 -0800
commitabc48f80d8747b4fc051b7dd364355ee667a9bac (patch)
tree31ae577fe29d75963b071e738703e4db83ad6580 /src/com/android/settings/deviceinfo
parentde2d9f5f109265873196f1615e1f3546b114aaa7 (diff)
downloadpackages_apps_Settings-abc48f80d8747b4fc051b7dd364355ee667a9bac.zip
packages_apps_Settings-abc48f80d8747b4fc051b7dd364355ee667a9bac.tar.gz
packages_apps_Settings-abc48f80d8747b4fc051b7dd364355ee667a9bac.tar.bz2
Code drop from //branches/cupcake/...@124589
Diffstat (limited to 'src/com/android/settings/deviceinfo')
-rw-r--r--src/com/android/settings/deviceinfo/Memory.java28
-rw-r--r--src/com/android/settings/deviceinfo/Status.java6
2 files changed, 28 insertions, 6 deletions
diff --git a/src/com/android/settings/deviceinfo/Memory.java b/src/com/android/settings/deviceinfo/Memory.java
index 8a3cb8b..86e6423 100644
--- a/src/com/android/settings/deviceinfo/Memory.java
+++ b/src/com/android/settings/deviceinfo/Memory.java
@@ -22,6 +22,7 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.content.res.Resources;
import android.os.Bundle;
+import android.os.IBinder;
import android.os.RemoteException;
import android.os.Environment;
import android.os.IMountService;
@@ -30,6 +31,7 @@ import android.os.StatFs;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceScreen;
+import android.util.Log;
import com.android.settings.R;
@@ -37,6 +39,8 @@ import java.io.File;
import java.text.DecimalFormat;
public class Memory extends PreferenceActivity {
+
+ private static final String TAG = "Memory";
private static final String MEMORY_SD_SIZE = "memory_sd_size";
@@ -50,15 +54,14 @@ public class Memory extends PreferenceActivity {
private Preference mSdAvail;
private Preference mSdUnmount;
- private IMountService mMountService;
+ // Access using getMountService()
+ private IMountService mMountService = null;
@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
addPreferencesFromResource(R.xml.device_info_memory);
-
- mMountService = IMountService.Stub.asInterface(ServiceManager.getService("mount"));
mRes = getResources();
mSdSize = findPreference(MEMORY_SD_SIZE);
@@ -89,6 +92,18 @@ public class Memory extends PreferenceActivity {
unregisterReceiver(mReceiver);
}
+ private synchronized IMountService getMountService() {
+ if (mMountService == null) {
+ IBinder service = ServiceManager.getService("mount");
+ if (service != null) {
+ mMountService = IMountService.Stub.asInterface(service);
+ } else {
+ Log.e(TAG, "Can't get mount service");
+ }
+ }
+ return mMountService;
+ }
+
@Override
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
if (preference == mSdUnmount) {
@@ -107,8 +122,13 @@ public class Memory extends PreferenceActivity {
};
private void unmount() {
+ IMountService mountService = getMountService();
try {
- mMountService.unmountMedia(Environment.getExternalStorageDirectory().toString());
+ if (mountService != null) {
+ mountService.unmountMedia(Environment.getExternalStorageDirectory().toString());
+ } else {
+ Log.e(TAG, "Mount service is null, can't unmount");
+ }
} catch (RemoteException ex) {
// Failed for some reason, try to update UI to actual state
updateMemoryStatus();
diff --git a/src/com/android/settings/deviceinfo/Status.java b/src/com/android/settings/deviceinfo/Status.java
index a56e607..b7aceb1 100644
--- a/src/com/android/settings/deviceinfo/Status.java
+++ b/src/com/android/settings/deviceinfo/Status.java
@@ -240,9 +240,11 @@ public class Status extends PreferenceActivity {
}
private void setSummaryText(String preference, String text) {
- if (text != null) {
- findPreference(preference).setSummary(text);
+ if (TextUtils.isEmpty(text)) {
+ text = sUnknown;
}
+
+ findPreference(preference).setSummary(text);
}
private void updateNetworkType() {