Ignore:
Timestamp:
10/24/14 13:15:06 (10 years ago)
Author:
funger
Message:
  • add first implementation idea to log text Changes
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/autoquest-androidmonitor/src/de/ugoe/cs/autoquest/androidmonitor/Androidmonitor.java

    r1756 r1806  
    11package de.ugoe.cs.autoquest.androidmonitor; 
    22 
    3 import java.io.File; 
    4 import java.io.FileOutputStream; 
    5 import java.io.StringWriter; 
    63import java.lang.reflect.Field; 
    7  
    8 import org.xmlpull.v1.XmlSerializer; 
    94 
    105import de.ugoe.cs.autoquest.androidmonitor.AndroidmonitorCompositeOnClickListener; 
     
    1510import android.content.pm.PackageManager.NameNotFoundException; 
    1611import android.os.Build; 
     12import android.text.Editable; 
     13import android.text.TextWatcher; 
    1714import android.util.Log; 
    18 import android.util.Xml; 
    1915import android.view.View; 
    2016import android.view.ViewGroup; 
     17import android.widget.EditText; 
     18import android.widget.TextView; 
    2119 
    2220public class Androidmonitor { 
     
    4745                logFile = new AndroidmonitorLogFile(getAppLable(activity), 
    4846                                activity.getFilesDir()); 
     47                 
     48                //Log.i("info", "start main Activity" + activity.getPackageName()); 
    4949 
    5050                addLogListenerToView(getRootView(activity)); 
    5151 
    52                 // tbd 
    53                 // listen to changes and update own listener 
     52                // TODO 
     53                // listen to changes and update on listener 
    5454                // find out if it is possible to directly call addLogListenerToView 
    5555                // again 
    5656                // activity.onContentChanged(); 
    5757 
     58                //TODO 
    5859                // write backPresss as event to xml file 
    5960                // activity.onBackPressed(); 
    6061 
     62                //TODO 
    6163                // handle onStop() method of the activity 
    6264                // add a function that end up tracking if onStop() is given otherwise 
     
    133135 
    134136                // save original listener to add it later on to the groupLisatener 
    135                 View.OnClickListener listener = getOnClickListener(view); 
    136  
    137                 if (listener != null) { 
     137                View.OnClickListener onClicklistener = getOnClickListener(view); 
     138 
     139                if (onClicklistener != null) { 
    138140                        // create new compositeOnClickListener to handle multiple listeners 
    139141                        // for one view 
     
    145147                        groupListener.addOnClickListener(new View.OnClickListener() { 
    146148                                public void onClick(View v) { 
    147  
    148149                                        logFile.addEvent(v, "onClick"); 
    149  
    150                                         // track information ... 
    151                                         // Log.d("MyLog", 
    152                                         // "activity:" + activityName + " id:" + v.getId() 
    153                                         // + " element:" 
    154                                         // + v.getClass().getSimpleName() + " x:" + v.getX() + " y:" 
    155                                         // + v.getY() + " time:" 
    156                                         // + System.currentTimeMillis()); 
    157  
    158150                                } 
    159151                        }); 
    160152                        // add original onClick listener to groupListener of the view 
    161                         groupListener.addOnClickListener(listener); 
    162                 } 
     153                        groupListener.addOnClickListener(onClicklistener); 
     154                } 
     155                // if view is a TextView add a addTextChangedListener to this view  
     156                // EditText extends TextView 
     157                if (view instanceof EditText) { 
     158                         
     159                        TextView textView = (TextView)view; 
     160                        textView.addTextChangedListener(new TextWatcher(){ 
     161 
     162                                @Override 
     163                                public void beforeTextChanged(CharSequence s, int start, 
     164                                                int count, int after) { 
     165                                        // do nothing 
     166                                } 
     167 
     168                                @Override 
     169                                public void onTextChanged(CharSequence s, int start, 
     170                                                int before, int count) { 
     171                                        // do nothing 
     172                                } 
     173 
     174                                @Override 
     175                                public void afterTextChanged(Editable s) { 
     176                                        // TODO logText 
     177                                        Log.i("type: ", "stostring: " + s.toString()); 
     178                                         
     179                                } 
     180                                 
     181                        }); 
     182                        Log.i("type: ", view.hashCode() + " is EditText"); 
     183                } 
     184                 
    163185        } 
    164186 
Note: See TracChangeset for help on using the changeset viewer.