Android Open Source - MyTwitter-Android Install Analytics Receiver






From Project

Back to project page MyTwitter-Android.

License

The source code is released under:

Apache License

If you think the Android project MyTwitter-Android 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

package org.fukata.android.mytw.receiver;
// ww  w . j  a  v  a 2s. com
import java.net.URLDecoder;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPut;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpParams;
import org.fukata.android.exandroid.util.StringUtil;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;

public class InstallAnalyticsReceiver extends BroadcastReceiver {
  static String TAG = InstallAnalyticsReceiver.class.getSimpleName();

  @Override
  public void onReceive(Context context, Intent intent) {
    // get referrer
    String referrer = URLDecoder.decode( intent.getStringExtra("referrer") );
    Log.d(TAG, String.format("referrer: %s", referrer));
    if (StringUtil.isBlank(referrer)) {
      return;
    }
    
    // exact rid
//    String[] splited = referrer.split("?");
//    if (splited.length!=2) {
//      return;
//    }
    String[] queries = referrer.split("&");
    String rid = null;
    for (String query : queries) {
      String[] q = query.split("=");
      if (q.length==2 && q[0].equals("rid")) {
        rid = q[1];
        break;
      }
    }
    
    if (StringUtil.isBlank(rid)) {
      return;
    }
    
    // put analytics
    HttpParams params = new BasicHttpParams();
    DefaultHttpClient client = new DefaultHttpClient(params);
    HttpPut method = new HttpPut(String.format("http://fukata.org:3000/%s", rid));
    try {
      List<NameValuePair> parameters = new ArrayList<NameValuePair>();
      parameters.add(new BasicNameValuePair("log", referrer));        
      UrlEncodedFormEntity entity = new UrlEncodedFormEntity(parameters, "UTF-8");
      method.setEntity(entity);
      HttpResponse response = client.execute(method);
    } catch (Exception e) {
    }
  }

}




Java Source Code List

org.fukata.android.mytw.DirectMessageTimelineAdapter.java
org.fukata.android.mytw.DirectMessageTimelineView.java
org.fukata.android.mytw.HomeTimelineView.java
org.fukata.android.mytw.MentionTimelineView.java
org.fukata.android.mytw.MyTwitterActivity.java
org.fukata.android.mytw.MyTwitterApp.java
org.fukata.android.mytw.SettingsActivity.java
org.fukata.android.mytw.TimelineActivity.java
org.fukata.android.mytw.TimelineAdapter.java
org.fukata.android.mytw.TimelineItem.java
org.fukata.android.mytw.TimelineView.java
org.fukata.android.mytw.UpdateStatusActivity.java
org.fukata.android.mytw.database.MyTwitterDB.java
org.fukata.android.mytw.database.dao.BaseDao.java
org.fukata.android.mytw.database.dao.TweetDao.java
org.fukata.android.mytw.database.dto.TweetDto.java
org.fukata.android.mytw.database.schema.TweetSchema.java
org.fukata.android.mytw.receiver.InstallAnalyticsReceiver.java
org.fukata.android.mytw.twitter.Twitter.java
org.fukata.android.mytw.twitter.rs.Status.java
org.fukata.android.mytw.twitter.rs.User.java
org.fukata.android.mytw.util.PrettyDateUtil.java
org.fukata.android.mytw.util.SettingUtil.java
org.fukata.android.mytw.util.StringMatchUtils.java
org.fukata.android.mytw.util.StringUtils.java