Android Open Source - android_monitor Device Info Collector






From Project

Back to project page android_monitor.

License

The source code is released under:

GNU General Public License

If you think the Android project android_monitor 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 MUSE team Inria Paris - Rocquencourt
 * //w w  w.j  a  v  a  2  s.  c o  m
 * This file is part of UCNDataCollector.
 * 
 * UCNDataCollector is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * UCNDataCollector is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero Public License for more details.
 * 
 * You should have received a copy of the GNU Affero Public License
 * along with UCNDataCollector.  If not, see <http://www.gnu.org/licenses/>.
 ******************************************************************************/
package fr.inria.ucn.collectors;

import org.json.JSONException;
import org.json.JSONObject;

import fr.inria.ucn.Constants;
import fr.inria.ucn.Helpers;
import android.content.Context;
import android.util.DisplayMetrics;
import android.util.Log;

/**
 * Collect static info about the device. Basically only needs to be called once
 * per device.
 * 
 * @author Anna-Kaisa Pietilainen <anna-kaisa.pietilainen@inria.fr>
 *
 */
public class DeviceInfoCollector implements Collector {

  /* (non-Javadoc)
   * @see fr.inria.ucn.collectors.Collector#run(android.content.Context)
   */
  @Override
  public void run(Context c, long ts) {
    try {
      JSONObject data = new JSONObject();
      
      // android dev info + build
      JSONObject build = new JSONObject();
      build.put("brand", android.os.Build.BRAND);
      build.put("board", android.os.Build.BOARD);
      build.put("cpu_api", android.os.Build.CPU_ABI);
      build.put("device", android.os.Build.DEVICE);
      build.put("display", android.os.Build.DISPLAY);
      build.put("manufacturer", android.os.Build.MANUFACTURER);
      build.put("model", android.os.Build.MODEL);
      build.put("product", android.os.Build.PRODUCT);
      build.put("version_sdk", android.os.Build.VERSION.SDK_INT);
      build.put("version_release", android.os.Build.VERSION.RELEASE);
      data.put("build", build);

      // display
      JSONObject display = new JSONObject();
      DisplayMetrics metrics = c.getResources().getDisplayMetrics();
      display.put("dpi", metrics.densityDpi);
      display.put("height", metrics.heightPixels);
      display.put("width", metrics.widthPixels);
      display.put("density", metrics.density);
      data.put("display",display);

      // done
      Helpers.sendResultObj(c,"device_info",ts,data);
      
    } catch (JSONException jex) {
      Log.w(Constants.LOGTAG, "failed to create json object",jex);
    }

  }

}




Java Source Code List

fr.inria.ucn.CollectorException.java
fr.inria.ucn.CollectorService.java
fr.inria.ucn.Constants.java
fr.inria.ucn.DataStore.java
fr.inria.ucn.DataUploader.java
fr.inria.ucn.Helpers.java
fr.inria.ucn.OnBootReceiver.java
fr.inria.ucn.Scheduler.java
fr.inria.ucn.collectors.AppDataUsageCollector.java
fr.inria.ucn.collectors.Collector.java
fr.inria.ucn.collectors.DeviceInfoCollector.java
fr.inria.ucn.collectors.LlamaCollector.java
fr.inria.ucn.collectors.NetworkStateCollector.java
fr.inria.ucn.collectors.RunningAppsCollector.java
fr.inria.ucn.collectors.SocketsCollector.java
fr.inria.ucn.collectors.SysStateCollector.java
fr.inria.ucn.listeners.MyPhoneStateListener.java
fr.inria.ucn.listeners.SystemStateListener.java
fr.inria.ucn.ui.SettingsActivity.java
fr.inria.ucn.ui.SettingsFragment.java
fr.inria.ucn.ui.TimePreference.java