Android Open Source - AndroidLibraryProject Application Data Analysis






From Project

Back to project page AndroidLibraryProject.

License

The source code is released under:

Apache License

If you think the Android project AndroidLibraryProject 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) 2013 by CDAC Chennai /*  w  ww . j  a va 2s . 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.
 * 
 * * Copyright (c) 2014 by CDAC Chennai 
 * @File        LocationDataAnalysis
 * @Created:    22.04.2014
 * @author:     Rekha.N
 * Last Change: 22.04.2014 by Rekha.N
 * 
 */
package com.contextawareframework.dataanalysis;


import java.sql.Date;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;

import android.os.Bundle;
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
import android.provider.CallLog;
import android.util.Log;
import android.app.Activity;


public class ApplicationDataAnalysis 
{
  
  public static String phoneno =  null;   
  public static String[] ar = new String[1000];  
    public static String[] ar1 = new String[1000];
    public static String[] ar2 = new String[1000];  
    
  public static  int i = 0;  
  public static  int l= 0;
  public static  int m = 0;
  
  private  Context _context;
  
  
public ApplicationDataAnalysis (Context context)
  {    
        
    this._context = context;
  }
  
public StringBuffer getOutCallDetails() 
 {
 
    Log.d("INSIDE METHOD CALL ::::", " INSIDE METHOD CALL :::" );
    
    StringBuffer sb = new StringBuffer();     
    Cursor managedCursor = ((Activity) _context).managedQuery(CallLog.Calls.CONTENT_URI, null, null, null, null);    
    
    int number = managedCursor.getColumnIndex(CallLog.Calls.NUMBER);  
    int type = managedCursor.getColumnIndex(CallLog.Calls.TYPE);    
    int date = managedCursor.getColumnIndex(CallLog.Calls.DATE);    
    int duration = managedCursor.getColumnIndex(CallLog.Calls.DURATION);       
    sb.append("Call Log :");
    
  
  
    while (managedCursor.moveToNext()) 
    {
      
     String phNumber = managedCursor.getString(number);
     String callType = managedCursor.getString(type);
     String callDate = managedCursor.getString(date);
     Date callDayTime = new Date(Long.valueOf(callDate));
     String callDuration = managedCursor.getString(duration);    
     
         
     
     String dir = null;
     int dircode = Integer.parseInt(callType); 
     
     
     
     switch (dircode) 
     {
            
      case CallLog.Calls.OUTGOING_TYPE:        
      dir = "OUTGOING";           
       if(ar[i] == null)
      {                     
        ar[i] =  phNumber;        
                
      }       
       i++;       
      break;
      
     }
      
    }
      
   
      HashMap<String,Integer> duplicates = new HashMap<String,Integer>();
      for(int j=0; j<ar.length; j++)
      {
          if(duplicates.containsKey(ar[j]))
          {
              int numberOfOccurances = duplicates.get(ar[j]);
              duplicates.put(ar[j], (numberOfOccurances + 1));
             
          }
          else
          {
              duplicates.put(ar[j], 1);
          }
      }
      
      Log.d("DUPLICATES ENTRY ::::", "DUPLICATES ENTRY ::" + duplicates + ",  DUPLICATES::  ENTRY " + duplicates);

      int temp  = 0;
      String finalvalue = null;
      
      Set<String> keys = duplicates.keySet();      
      for(String key: keys)
      {    
   
        if((key != null) && (temp < duplicates.get(key)))
        {
          temp = duplicates.get(key);
          finalvalue = key;          
        }        
        
           
        }
      
      Log.d("TEMP ::::", "TEMP ::" + temp + ",  TEMP:: VALUE " + temp);  
      Log.d("FINAL VALUE ::::", "FINAL VALUE ::" + finalvalue + ",  FINAL VALUE " + finalvalue);      
      sb.append("\nYou have made the maximum outgoing call from--- " +  finalvalue + " \nNo of times "
             + temp);
      sb.append("\n----------------------------------");   
    
      return sb;
 }

  
public StringBuffer getInCallDetails() 
{
   
      Log.d("INSIDE METHOD CALL ::::", " INSIDE METHOD CALL :::" );
      
      StringBuffer sb1 = new StringBuffer();     
      Cursor managedCursor = ((Activity) _context).managedQuery(CallLog.Calls.CONTENT_URI, null, null, null, null);    
      
      int number = managedCursor.getColumnIndex(CallLog.Calls.NUMBER);  
      int type = managedCursor.getColumnIndex(CallLog.Calls.TYPE);    
      int date = managedCursor.getColumnIndex(CallLog.Calls.DATE);    
      int duration = managedCursor.getColumnIndex(CallLog.Calls.DURATION);       
      sb1.append("Call Log :");
      
     
      while (managedCursor.moveToNext()) 
      {
        
       String phNumber = managedCursor.getString(number);
       String callType = managedCursor.getString(type);
       String callDate = managedCursor.getString(date);
       Date callDayTime = new Date(Long.valueOf(callDate));
       String callDuration = managedCursor.getString(duration);    
       
  
       
       String dir = null;
       int dircode = Integer.parseInt(callType); 
       
       
       
       switch (dircode) 
       {
              
        case CallLog.Calls.INCOMING_TYPE:        
       dir = "INCOMING";
        if(ar1[l] == null)
        {                     
          ar1[l] =  phNumber;        
                  
        }       
         l++;
        break;
            
       
         }
        
      }
     
          
        HashMap<String,Integer> duplicates = new HashMap<String,Integer>();
        for(int j=0; j<ar1.length; j++)
        {
            if(duplicates.containsKey(ar1[j]))
            {
                int numberOfOccurances = duplicates.get(ar1[j]);
                duplicates.put(ar1[j], (numberOfOccurances + 1));
               
            }
            else
            {
                duplicates.put(ar1[j], 1);
            }
        }
        
        Log.d("DUPLICATES ENTRY ::::", "DUPLICATES ENTRY ::" + duplicates + ",  DUPLICATES::  ENTRY " + duplicates);

        int temp  = 0;
        String finalvalue = null;
        
        Set<String> keys = duplicates.keySet();      
        for(String key: keys)
        {    
          
                    
          if((key != null) && (temp < duplicates.get(key)))
          {
            temp = duplicates.get(key);
            finalvalue = key;          
          }        
          
         }
        
        Log.d("TEMP ::::", "TEMP ::" + temp + ",  TEMP:: VALUE " + temp);  
        Log.d("FINAL VALUE ::::", "FINAL VALUE ::" + finalvalue + ",  FINAL VALUE " + finalvalue);      
        sb1.append("\nYou have got maximum incoming call from--- " +  finalvalue + " \nNo of times "
               + temp);
        sb1.append("\n----------------------------------");  
        
          return sb1;
          
          
}

   
public StringBuffer getMissedCallDetails() 
{
  
    StringBuffer sb2 = new StringBuffer();     
    Cursor managedCursor = ((Activity) _context).managedQuery(CallLog.Calls.CONTENT_URI, null, null, null, null);    
    
    int number = managedCursor.getColumnIndex(CallLog.Calls.NUMBER);  
    int type = managedCursor.getColumnIndex(CallLog.Calls.TYPE);    
    int date = managedCursor.getColumnIndex(CallLog.Calls.DATE);    
    int duration = managedCursor.getColumnIndex(CallLog.Calls.DURATION);       
    sb2.append("Call Log :");
    
 
  
    while (managedCursor.moveToNext()) 
    {
      
     String phNumber = managedCursor.getString(number);
     String callType = managedCursor.getString(type);
     String callDate = managedCursor.getString(date);
     Date callDayTime = new Date(Long.valueOf(callDate));
     String callDuration = managedCursor.getString(duration);    
     
     
     String dir = null;
     int dircode = Integer.parseInt(callType); 
     
     
     
     switch (dircode) 
     {
            
     case CallLog.Calls.MISSED_TYPE:        
      //   Log.d("INSIDE MISSED TYPE ::::", "INSIDE MISSED TYPE ::" + CallLog.Calls.MISSED_TYPE + ", INSIDE MISSED TYPE:::  " + CallLog.Calls.MISSED_TYPE);  
          dir = "MISSED";
        if(ar2[m] == null)
          {                     
            ar2[m] =  phNumber;        
                    
          }       
           m++;      
          break;
          
     }
      
    }
      

  
      HashMap<String,Integer> duplicates = new HashMap<String,Integer>();
      for(int j=0; j<ar2.length; j++)
      {
          if(duplicates.containsKey(ar2[j]))
          {
              int numberOfOccurances = duplicates.get(ar2[j]);
              duplicates.put(ar2[j], (numberOfOccurances + 1));
             
          }
          else
          {
              duplicates.put(ar2[j], 1);
          }
      }
      
      Log.d("DUPLICATES ENTRY ::::", "DUPLICATES ENTRY ::" + duplicates + ",  DUPLICATES::  ENTRY " + duplicates);

      int temp  = 0;
      String finalvalue = null;
      
      Set<String> keys = duplicates.keySet();      
      for(String key: keys)
      {    
   
        if((key != null) && (temp < duplicates.get(key)))
        {
          temp = duplicates.get(key);
          finalvalue = key;          
        }        
        
          
       }
      
      Log.d("TEMP ::::", "TEMP ::" + temp + ",  TEMP:: VALUE " + temp);  
       Log.d("FINAL VALUE ::::", "FINAL VALUE ::" + finalvalue + ",  FINAL VALUE " + finalvalue);      
      sb2.append("\nYou have got maximum missed call from--- " +  finalvalue + " \nNo of times "
            + temp);
       sb2.append("\n----------------------------------");   
   
      return sb2;


  
}
      
  
  
  
  
}




Java Source Code List

.BatteryDbHelper.java
.Bluetooth.java
.Camera.java
.Gravity.java
.Humidity.java
.Microphone.java
.NFC.java
.Orientation.java
.Pressure.java
.SDCard.java
.Telephony.java
.Temparature.java
.USB.java
.Wifi.java
com.contextawareframework.backgroundservices.AccelerometerDataListener.java
com.contextawareframework.backgroundservices.BatteryDataService.java
com.contextawareframework.backgroundservices.CAFService.java
com.contextawareframework.backgroundservices.GPSTracker.java
com.contextawareframework.backgroundservices.GyroscopeDataListener.java
com.contextawareframework.backgroundservices.LightDataListener.java
com.contextawareframework.backgroundservices.LocationDataListener.java
com.contextawareframework.backgroundservices.MagnetometerDataListener.java
com.contextawareframework.backgroundservices.ProximityDataListener.java
com.contextawareframework.backgroundservices.SoundRecorder.java
com.contextawareframework.backgroundservices.Text2Speech.java
com.contextawareframework.contextawarefunctions.ContextAwareFunction.java
com.contextawareframework.controller.BatteryController.java
com.contextawareframework.controller.SensorController.java
com.contextawareframework.dataanalysis.AccelerometerDataAnalysis.java
com.contextawareframework.dataanalysis.ApplicationDataAnalysis.java
com.contextawareframework.dataanalysis.LocationDataAnalysis.java
com.contextawareframework.dbmanager.AccelerometerDbHelper.java
com.contextawareframework.dbmanager.ContextAwareSQLiteHelper.java
com.contextawareframework.dbmanager.GyroscopeDbHelper.java
com.contextawareframework.dbmanager.LightDbHelper.java
com.contextawareframework.dbmanager.LocationDbHelper.java
com.contextawareframework.dbmanager.MagnetometerDbHelper.java
com.contextawareframework.dbmanager.ProximityDbHelper.java
com.contextawareframework.dbmanager.UserInfoDbHelper.java
com.contextawareframework.exceptions.AccelerometerSensorException.java
com.contextawareframework.exceptions.BatteryException.java
com.contextawareframework.exceptions.CAFException.java
com.contextawareframework.exceptions.GyrometerSensorException.java
com.contextawareframework.exceptions.LightSensorException.java
com.contextawareframework.exceptions.LocationServiceException.java
com.contextawareframework.exceptions.MagnetometerSensorException.java
com.contextawareframework.exceptions.ProximitySensorException.java
com.contextawareframework.exceptions.SDCardException.java
com.contextawareframework.exceptions.SQLiteQueryException.java
com.contextawareframework.exceptions.SensorException.java
com.contextawareframework.globalvariable.CAFConfig.java
com.contextawareframework.notificationservice.IssueNotification.java
com.contextawareframework.os.Battery.java
com.contextawareframework.os.CAFPowerManager.java
com.contextawareframework.os.UserInfo.java
com.contextawareframework.probe.Probe.java
com.contextawareframework.probe.WfiProbe.java
com.contextawareframework.querymodule.BaseQueryClass.java
com.contextawareframework.querymodule.DeveloperInfo.java
com.contextawareframework.querymodule.UserIdentification.java
com.contextawareframework.security.FileEncryptor.java
com.contextawareframework.security.JavaDESEncryption.java
com.contextawareframework.sensorlistener.BatteryListener.java
com.contextawareframework.sensorlistener.SensorListener.java
com.contextawareframework.sensors.environmentsensors.Light.java
com.contextawareframework.sensors.motionsensors.Accelerometer.java
com.contextawareframework.sensors.motionsensors.Gyrometer.java
com.contextawareframework.sensors.positionsensors.LocationPojo.java
com.contextawareframework.sensors.positionsensors.Magnetometer.java
com.contextawareframework.sensors.positionsensors.Proximity.java
com.contextawareframework.uploadmanager.BackupDb.java
com.contextawareframework.uploadmanager.UploadScheduler.java
com.contextawareframework.uploadmanager.UploadToServer.java
com.contextawareframework.utility.CsvFileWriter.java
com.example.frameworktestcase.FrameworkFunctionalTestActivity.java
com.example.frameworktestcase.MainActivity.java
com.example.frameworktestcase.SecondActivity.java
com.example.frameworktestcase.Singleton.java