Android Open Source - android-usable-location-privacy Location Privacy Application






From Project

Back to project page android-usable-location-privacy.

License

The source code is released under:

Apache License

If you think the Android project android-usable-location-privacy listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * Copyright (C) 2014 B. Henne, C. Kater,
 *   Distributed Computing & Security Group,
 *   Leibniz Universitaet Hannover, Germany
 *//w  w w  . j a  v a 2  s . c  o m
 * Licensed 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 android.locationprivacy.model;

import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.graphics.drawable.Drawable;
import android.os.Parcel;
import android.os.Parcelable;

/**
 * LocationPrivacyApplication models an app in the location privacy framework
 * 
 * @author Christian Kater
 * 
 */
public class LocationPrivacyApplication implements Parcelable {

  /** packagename of the app */
  private String packagename;

  private int presetConfig;

  public static final Parcelable.Creator<LocationPrivacyApplication> CREATOR = new Creator<LocationPrivacyApplication>() {

    @Override
    public LocationPrivacyApplication createFromParcel(Parcel source) {
      return new LocationPrivacyApplication(source);
    }

    @Override
    public LocationPrivacyApplication[] newArray(int size) {
      return new LocationPrivacyApplication[size];
    }
  };

  /**
   * Creates new instance of LocationPrivacyApplication
   * 
   * @param in
   *            Parcel object with attributes for LocationPrivacyApplication
   *            object
   */
  public LocationPrivacyApplication(Parcel in) {
    packagename = in.readString();
    presetConfig = in.readInt();
  }

  /**
   * Creates new instance of LocationPrivacyApplication
   * 
   * @param packageName
   *            packagename of the app
   * @param config
   *            presett configuration of location obfuscation of the app
   */
  public LocationPrivacyApplication(String packageName, int config) {
    this.packagename = packageName;
    this.presetConfig = config;
  }

  /*
   * (non-Javadoc)
   * 
   * @see android.os.Parcelable#describeContents()
   */
  public int describeContents() {
    // TODO Auto-generated method stub
    return 0;
  }

  /*
   * application label corresponding to (package) name
   */
  public String getLabel(PackageManager packageManager) {
    ApplicationInfo appInfo;
    try {
      appInfo = packageManager.getApplicationInfo(this.packagename, 0);
    } catch (final NameNotFoundException e) {
      appInfo = null;
    }
    String appLabel = (String) (appInfo != null ? packageManager
        .getApplicationLabel(appInfo) : this.packagename);
    return appLabel;
  }
  
  public Drawable getIcon(PackageManager packageManager) {
    try {
      return packageManager.getApplicationIcon(packagename);
    } catch (NameNotFoundException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    return null;
  }

  public String getPackagename() {
    return packagename;
  }

  public int getPresetConfig() {
    return presetConfig;
  }

  public void setPresetConfig(int presetConfig) {
    this.presetConfig = presetConfig;
  }

  /*
   * (non-Javadoc)
   * 
   * @see android.os.Parcelable#writeToParcel(android.os.Parcel, int)
   */
  public void writeToParcel(Parcel dest, int flags) {
    dest.writeString(packagename);
    dest.writeInt(presetConfig);

  }
  
  public String toString(){
    return "LocationPrivacyApplication[packagename= "+packagename + " ; Presetconfig= " + presetConfig + " ]"; 
  }

}




Java Source Code List

android.locationprivacy.algorithm.GeoReverseGeo.java
android.locationprivacy.algorithm.RadiusDistance.java
android.locationprivacy.control.CryptoDatabase.java
android.locationprivacy.control.LocationPrivacyManager.java
android.locationprivacy.model.AbstractLocationPrivacyAlgorithm.java
android.locationprivacy.model.Coordinate.java
android.locationprivacy.model.LocationPrivacyAlgorithmValues.java
android.locationprivacy.model.LocationPrivacyApplication.java
com.android.server.LocationManagerService.java
com.android.settings.Settings.java
com.android.settings.locationprivacy.LPPresetConfigAdapter.java
com.android.settings.locationprivacy.LocationPrivacyAdvancedSettings.java
com.android.settings.locationprivacy.LocationPrivacyAppPreference.java
com.android.settings.locationprivacy.LocationPrivacyDialog.java
com.android.settings.locationprivacy.LocationPrivacyMap.java
com.android.settings.locationprivacy.LocationPrivacyOfflineObfuscation.java
com.android.settings.locationprivacy.LocationPrivacyOnlineInfoActivity.java
com.android.settings.locationprivacy.LocationPrivacySettings.java
com.android.settings.locationprivacy.LocationPrivacyStatisticOverview.java
com.android.settings.locationprivacy.LocationPrivacyStatistic.java
com.android.settings.locationprivacy.SendDataService.java
com.android.settings.locationprivacy.StatisticDiagram24HPreference.java
com.android.settings.locationprivacy.StatisticDiagramPreference.java
com.android.settings.locationprivacy.UserRecoverableAuth.java
com.cyanogenmod.trebuchet.Launcher.java
com.jjoe64.graphview.BarGraphView.java
com.jjoe64.graphview.CustomLabelFormatter.java
com.jjoe64.graphview.GraphViewDataInterface.java
com.jjoe64.graphview.GraphViewSeries.java
com.jjoe64.graphview.GraphViewStyle.java
com.jjoe64.graphview.GraphView.java
com.jjoe64.graphview.LineGraphView.java
com.jjoe64.graphview.StatisticGraphView.java
com.jjoe64.graphview.ValueDependentColor.java
com.jjoe64.graphview.compatible.RealScaleGestureDetector.java
com.jjoe64.graphview.compatible.ScaleGestureDetector.java