You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
3.0 KiB
Java
102 lines
3.0 KiB
Java
/*
|
|
Licensed to the Apache Software Foundation (ASF) under one
|
|
or more contributor license agreements. See the NOTICE file
|
|
distributed with this work for additional information
|
|
regarding copyright ownership. The ASF licenses this file
|
|
to you under the Apache License, Version 2.0 (the
|
|
"License"); you may not use this file except in compliance
|
|
with the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing,
|
|
software distributed under the License is distributed on an
|
|
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
KIND, either express or implied. See the License for the
|
|
specific language governing permissions and limitations
|
|
under the License.
|
|
*/
|
|
|
|
package org.apache.cordova;
|
|
|
|
import java.util.HashMap;
|
|
import java.util.Locale;
|
|
import java.util.Map;
|
|
|
|
import org.apache.cordova.LOG;
|
|
|
|
import android.app.Activity;
|
|
import android.os.Bundle;
|
|
|
|
public class CordovaPreferences {
|
|
private HashMap<String, String> prefs = new HashMap<String, String>(20);
|
|
private Bundle preferencesBundleExtras;
|
|
|
|
public void setPreferencesBundle(Bundle extras) {
|
|
preferencesBundleExtras = extras;
|
|
}
|
|
|
|
public void set(String name, String value) {
|
|
prefs.put(name.toLowerCase(Locale.ENGLISH), value);
|
|
}
|
|
|
|
public void set(String name, boolean value) {
|
|
set(name, "" + value);
|
|
}
|
|
|
|
public void set(String name, int value) {
|
|
set(name, "" + value);
|
|
}
|
|
|
|
public void set(String name, double value) {
|
|
set(name, "" + value);
|
|
}
|
|
|
|
public Map<String, String> getAll() {
|
|
return prefs;
|
|
}
|
|
|
|
public boolean getBoolean(String name, boolean defaultValue) {
|
|
name = name.toLowerCase(Locale.ENGLISH);
|
|
String value = prefs.get(name);
|
|
if (value != null) {
|
|
return Boolean.parseBoolean(value);
|
|
}
|
|
return defaultValue;
|
|
}
|
|
|
|
// Added in 4.0.0
|
|
public boolean contains(String name) {
|
|
return getString(name, null) != null;
|
|
}
|
|
|
|
public int getInteger(String name, int defaultValue) {
|
|
name = name.toLowerCase(Locale.ENGLISH);
|
|
String value = prefs.get(name);
|
|
if (value != null) {
|
|
// Use Integer.decode() can't handle it if the highest bit is set.
|
|
return (int)(long)Long.decode(value);
|
|
}
|
|
return defaultValue;
|
|
}
|
|
|
|
public double getDouble(String name, double defaultValue) {
|
|
name = name.toLowerCase(Locale.ENGLISH);
|
|
String value = prefs.get(name);
|
|
if (value != null) {
|
|
return Double.valueOf(value);
|
|
}
|
|
return defaultValue;
|
|
}
|
|
|
|
public String getString(String name, String defaultValue) {
|
|
name = name.toLowerCase(Locale.ENGLISH);
|
|
String value = prefs.get(name);
|
|
if (value != null) {
|
|
return value;
|
|
}
|
|
return defaultValue;
|
|
}
|
|
|
|
}
|