Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.cglance.connection;
- import java.io.ByteArrayOutputStream;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Calendar;
- import java.util.Date;
- import com.cglance.database.Database;
- import com.cglance.widget.QuickActionView;
- import android.app.Activity;
- import android.content.ContentResolver;
- import android.content.Context;
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.database.ContentObserver;
- import android.database.Cursor;
- import android.database.sqlite.SQLiteDatabase;
- import android.graphics.Bitmap;
- import android.graphics.BitmapFactory;
- import android.graphics.Canvas;
- import android.graphics.Color;
- import android.graphics.Matrix;
- import android.graphics.Point;
- import android.graphics.drawable.BitmapDrawable;
- import android.graphics.drawable.ColorDrawable;
- import android.graphics.drawable.Drawable;
- import android.net.Uri;
- import android.opengl.Visibility;
- import android.os.Bundle;
- import android.os.Handler;
- import android.telephony.PhoneStateListener;
- import android.telephony.TelephonyManager;
- import android.ui.HorizontalListView;
- import android.util.Base64;
- import android.util.Log;
- import android.util.TypedValue;
- import android.view.GestureDetector;
- import android.view.GestureDetector.OnDoubleTapListener;
- import android.view.GestureDetector.SimpleOnGestureListener;
- import android.view.LayoutInflater;
- import android.view.Menu;
- import android.view.MotionEvent;
- import android.view.View;
- import android.view.View.OnTouchListener;
- import android.view.WindowManager;
- import android.view.View.OnClickListener;
- import android.view.View.OnLongClickListener;
- import android.view.ViewGroup;
- import android.widget.BaseAdapter;
- import android.widget.Button;
- import android.widget.ImageView;
- import android.widget.LinearLayout;
- import android.widget.ListView;
- import android.widget.Toast;
- public class CopyOfCustomGallary extends Activity implements OnClickListener,OnLongClickListener{
- Database db;
- Count allinfo;
- SQLiteDatabase database;
- public byte[] Imgid;
- public ArrayList<Bitmap> arrayList = new ArrayList<Bitmap>();
- public ArrayList<String> numberList = new ArrayList<String>();
- public ArrayList<String> emailList = new ArrayList<String>();
- public ArrayList<String> nameList = new ArrayList<String>();
- public ArrayList<String> popupnameList = new ArrayList<String>();
- public ArrayList<String> popupnumList = new ArrayList<String>();
- public ArrayList<String> popImageList = new ArrayList<String>();
- public ArrayList<String> imageList = new ArrayList<String>();
- public Bitmap imageBitmaps;
- public Bitmap[] bitmapArr=null;
- Button spotshild,userconnect,search;
- public boolean flag=false;
- public boolean flag_user=false;
- String day,phone_number,email_id;
- String[] days = new String[8];
- Button[] btn = new Button[8];
- String[] horiString = new String[8];
- HorizontalListView[] horiListview = new HorizontalListView[8];
- HorizontalAdapter adapter;
- CustomAdapter customAdapter;
- HorizontalListView test;
- public boolean fromappcall=false;
- public boolean fromappsms=false;
- public boolean fromappsmail=false;
- public boolean popupflag = false;
- public boolean flag_type = false;
- MyListAdapter listAdapter;
- Button call,sms,mail; // bottom portion
- boolean SMS = false;
- boolean CALL = false;
- boolean EMAIL = false;
- public boolean listtime = false;
- String number = "";
- String email="";
- SimpleDateFormat sdfcur;
- Calendar calender;
- LinearLayout ll,search_linear;
- ListView lv;
- public String temp1,Imgid1;
- String select_number;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
- setContentView(R.layout.gallary_view_new);
- //for counting message/call
- allinfo= new Count(CopyOfCustomGallary.this);
- allinfo.CountAll();
- spotshild.setOnClickListener(this);
- userconnect.setOnClickListener(this);
- search.setOnClickListener(this);
- // search.setOnClickListener(this);
- /*call.setOnDragListener(myDragEventListener);
- sms.setOnDragListener(myDragEventListener);
- mail.setOnDragListener(myDragEventListener);*/
- call.setOnClickListener(this);
- sms.setOnClickListener(this);
- mail.setOnClickListener(this);
- //for stopping sms
- Handler handle = new Handler(){};
- SMSObserver myObserver = new SMSObserver(handle);
- ContentResolver contentResolver = getApplicationContext().getContentResolver();
- contentResolver.registerContentObserver(Uri.parse("content://sms"),true, myObserver);
- //for stopping call
- PhoneCallListener phoneListener = new PhoneCallListener();
- TelephonyManager telephonyManager = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
- telephonyManager.listen(phoneListener,PhoneStateListener.LISTEN_CALL_STATE);
- sdfcur = new SimpleDateFormat("yyyy-MM-dd");
- calender=Calendar.getInstance();
- // for no image
- BitmapDrawable bmd1 = (BitmapDrawable) getResources().getDrawable(R.drawable.user_pic);
- Bitmap bm1 = bmd1.getBitmap();
- ByteArrayOutputStream stream1 = new ByteArrayOutputStream();
- bm1.compress(Bitmap.CompressFormat.JPEG, 100, stream1);
- byte[] bitmapdata1 = stream1.toByteArray();
- temp1 = Base64.encodeToString(bitmapdata1, 0);
- for(int i=0;i<8;i++)
- {
- db= new Database(getApplicationContext());
- arrayList= new ArrayList<Bitmap>();
- numberList= new ArrayList<String>();
- popupnameList = new ArrayList<String>();
- popupnumList = new ArrayList<String>();
- imageList = new ArrayList<String>();
- boolean _image1=false;
- /* arrayList.clear();
- numberList.clear();*/
- //popupnameList.clear();
- String finalDate= sdfcur.format(calender.getTime());
- System.out.println("final Date:"+finalDate);
- //fetching image from database
- Cursor record=db.test(finalDate);
- if(record.getCount()!=0){
- if(record.moveToFirst()){
- do{
- Imgid1=record.getString(record.getColumnIndex(Database.PHOTO));
- phone_number = record.getString(record.getColumnIndex(Database.CONTACT_NUMBER));
- email_id = record.getString(record.getColumnIndex(Database.EMAIL));
- String name=record.getString(record.getColumnIndex(Database.NAME));
- byte[] bArr=Base64.decode(Imgid1, Base64.DEFAULT);
- Bitmap bitmap=BitmapFactory.decodeByteArray(bArr, 0, bArr.length);
- //Bitmap b=Bitmap.createScaledBitmap(bitmap, 70, 50, false);
- imageList.add(Imgid1);
- if(Imgid1.length()!=0){
- if(Imgid1.equals(temp1)){
- popupnameList.add(name);
- popupnumList.add(phone_number);
- if(!_image1){
- arrayList.add(bitmap);
- _image1=true;
- }
- popupflag=false;
- }else{
- if(!popupflag){
- arrayList.add(bitmap);
- popupflag=true;
- }
- }
- numberList.add(phone_number);
- }
- }while(record.moveToNext());
- System.out.println("no. of images:"+arrayList.size());
- System.out.println("no. of phone numbers:"+numberList.size());
- System.out.println("no. of popup namelist:"+popupnameList.size());
- System.out.println("no. of popup phone numbers:"+popupnumList.size());
- adapter= new HorizontalAdapter(getApplicationContext(),arrayList,numberList,i,popupnameList,imageList,popupnumList);
- horiListview[i].setAdapter(adapter);
- adapter.notifyDataSetChanged();
- }record.close();
- }
- calender.add(Calendar.DATE, 1);
- db.close();
- }
- //calandar used to print days
- SimpleDateFormat sdf = new SimpleDateFormat("E");
- Date d = new Date();
- day = sdf.format(d);
- Calendar cal = Calendar.getInstance();
- days[0] = "Today";
- btn[0] = (Button) findViewById(R.id.btn_today);
- btn[0].setText(days[0]);
- btn[1] = (Button) findViewById(R.id.btn_day6);
- btn[2] = (Button) findViewById(R.id.btn_day5);
- btn[3] = (Button) findViewById(R.id.btn_day4);
- btn[4] = (Button) findViewById(R.id.btn_day3);
- btn[5] = (Button) findViewById(R.id.btn_day2);
- btn[6] = (Button) findViewById(R.id.btn_day1);
- btn[7] = (Button) findViewById(R.id.btn_later);
- Log.d("tag", "Day0 : " + days[0]);
- for(int i = 1 ; i < days.length-1 ; i++ ){
- cal.add(Calendar.DATE, 1);
- SimpleDateFormat sdf1 = new SimpleDateFormat("E");
- Date resultdate = new Date(cal.getTimeInMillis());
- Log.d("week","DAy "+ i + " : " + sdf1.format(resultdate));
- /*//Button btn[i] = (Button) findViewById(R.id.button[7-i]);*/
- btn[i].getId();
- btn[i].setTextColor(Color.BLACK);
- btn[i].setText(sdf1.format(resultdate));
- }
- //for slider activity
- lv.setAdapter( new MyListAdapter(getApplicationContext()));
- btn[7].setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if(!listtime){
- ll.setVisibility(View.VISIBLE);
- lv.setVisibility(View.VISIBLE);
- listtime = true;
- }
- else{
- lv.setVisibility(View.GONE);
- ll.setVisibility(View.GONE);
- listtime = false;
- }
- }
- });
- }
- @Override
- public void onBackPressed() {
- finish();
- }
- @Override
- public void onContentChanged() {
- super.onContentChanged();
- spotshild=(Button)findViewById(R.id.btn_spotshild);
- userconnect=(Button)findViewById(R.id.btn_user_connect);
- search=(Button)findViewById(R.id.btn_search);
- horiListview[0] = (HorizontalListView) findViewById(R.id.listview_today);
- horiListview[1] = (HorizontalListView) findViewById(R.id.listview_day6);
- horiListview[2] = (HorizontalListView) findViewById(R.id.listview_day5);
- horiListview[3] = (HorizontalListView) findViewById(R.id.listview_day4);
- horiListview[4] = (HorizontalListView) findViewById(R.id.listview_day3);
- horiListview[5] = (HorizontalListView) findViewById(R.id.listview_day2);
- horiListview[6] = (HorizontalListView) findViewById(R.id.listview_day1);
- horiListview[7]= (HorizontalListView) findViewById(R.id.listview_later);
- sms = (Button)findViewById(R.id.Btn_msg);//sms
- call = (Button)findViewById(R.id.Btn_call);//call
- mail = (Button)findViewById(R.id.Btn_mail);//mail
- lv = (ListView) findViewById(R.id.listview1);
- ll = (LinearLayout) findViewById(R.id.linear10);
- search_linear = (LinearLayout) findViewById(R.id.linear_search);
- }
- @Override
- public void onClick(View v) {
- switch (v.getId()) {
- case R.id.btn_spotshild:
- spotshild.setBackgroundResource(R.drawable.spot_shild);
- Intent i = new Intent(getApplicationContext(),CopyOfIntervalActivity.class);
- startActivity(i);
- overridePendingTransition(R.anim.push_left_in, R.anim.push_left_out);
- break;
- case R.id.btn_user_connect:
- if(!flag_user){
- sdfcur = new SimpleDateFormat("yyyy-MM-dd");
- calender=Calendar.getInstance();
- userconnect.setBackgroundResource(R.drawable.user_connect);
- getImageContactTypeWiseImageDisplay("social");
- flag_user=true;
- }else{
- userconnect.setBackgroundResource(R.drawable.user_connect_off);
- sdfcur = new SimpleDateFormat("yyyy-MM-dd");
- calender=Calendar.getInstance();
- getImageContactTypeWiseImageDisplay("business");
- flag_user=false;
- }
- break;
- case R.id.btn_search:
- /*if(!flag_user){
- search_linear.setVisibility(View.VISIBLE);
- flag_user=true;
- }else{
- search_linear.setVisibility(View.GONE);
- flag_user=false;
- }*/
- Intent search = new Intent(getApplicationContext(),CopyOfAddActivity.class);
- startActivity(search);
- overridePendingTransition(R.anim.push_left_in, R.anim.push_left_out);
- break;
- case R.id.Btn_call:
- if(select_number!=null){
- fromappcall=true;
- Intent callintent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + select_number));
- startActivity(callintent);
- finish();
- }
- break;
- case R.id.Btn_msg:
- if(select_number!=null){
- if(!fromappsms){
- Intent msgcall = new Intent(Intent.ACTION_SENDTO, Uri.parse("smsto:" + select_number));
- msgcall.putExtra("compose_mode", true);
- startActivity(msgcall);
- fromappsms=true;
- }
- }
- break;
- case R.id.Btn_mail:
- if(select_number!=null){
- if(!fromappsmail){
- Cursor c=db.getFirstRecordContactTable(select_number);
- if(c.getCount()!=0){
- c.moveToFirst();
- email=c.getString(c.getColumnIndex(Database.EMAIL));
- System.out.println("asdasdasd"+c.getCount()+email);
- c.close();
- }
- db.close();
- Intent emailintent = new Intent(getApplicationContext(),EmailActivity.class);
- emailintent.putExtra("email", email);
- startActivity(emailintent);
- fromappsmail=true;
- }
- }
- }
- }
- private void getImageContactTypeWiseImageDisplay(String type) {
- for(int i=0;i<8;i++)
- {
- arrayList= new ArrayList<Bitmap>();
- numberList= new ArrayList<String>();
- popupnameList = new ArrayList<String>();
- popupnumList = new ArrayList<String>();
- imageList = new ArrayList<String>();
- boolean _image2=false;
- db=new Database(getApplicationContext());
- String finalDate= sdfcur.format(calender.getTime());
- System.out.println("final Date:"+finalDate);
- //fetching image from database
- Cursor record=db.test1(finalDate,type);
- System.out.println("==================="+record.getCount());
- if(record.getCount()!=0){
- if(record.moveToFirst()){
- do{
- String Imgid1=record.getString(record.getColumnIndex(Database.PHOTO));
- phone_number = record.getString(record.getColumnIndex(Database.CONTACT_NUMBER));
- email_id = record.getString(record.getColumnIndex(Database.EMAIL));
- String name=record.getString(record.getColumnIndex(Database.NAME));
- byte[] bArr=Base64.decode(Imgid1, Base64.DEFAULT);
- Bitmap bitmap=BitmapFactory.decodeByteArray(bArr, 0, bArr.length);
- //Bitmap b=Bitmap.createScaledBitmap(bitmap, 70, 50, false);
- imageList.add(Imgid1);
- System.out.println("image" + imageList.size());
- if(Imgid1.length()!=0){
- if(Imgid1.equals(temp1)){
- popupnameList.add(name);
- popupnumList.add(phone_number);
- if(!_image2){
- arrayList.add(bitmap);
- _image2=true;
- }
- flag_type=false;
- }else{
- if(!flag_type){
- arrayList.add(bitmap);
- flag_type=true;
- }
- }
- //set image to araaylist<bitmap>
- numberList.add(phone_number);
- }
- }while(record.moveToNext());
- System.out.println("no. of images:"+arrayList.size());
- System.out.println("no. of phone numbers:"+numberList.size());
- System.out.println("no. of popup namelist:"+popupnameList.size());
- System.out.println("no. of popup phone numbers:"+popupnumList.size());
- adapter= new HorizontalAdapter(getApplicationContext(),arrayList,numberList,i,popupnameList,imageList,popupnumList);
- horiListview[i].setAdapter(adapter);
- adapter.notifyDataSetChanged();
- }record.close();
- /*System.out.println("in CustomGallary :"+i+":"+arrayList.size());
- adapter= new HorizontalAdapter(getApplicationContext(),arrayList,numberList,i,popupnameList,imageList);
- horiListview[i].setAdapter(adapter);*/
- }
- calender.add(Calendar.DATE, 1);
- db.close();
- }
- }
- ImageView.OnLongClickListener sourceButtonsLongClickListener = new ImageView.OnLongClickListener(){
- @Override
- public boolean onLongClick(View v) {
- number = v.getContentDescription().toString();
- Cursor c=db.getFirstRecordContactTable(number);
- if(c.getCount()!=0){
- c.moveToFirst();
- email=c.getString(c.getColumnIndex(Database.EMAIL));
- System.out.println("asdasdasd"+c.getCount()+email);
- c.close();
- }
- db.close();
- return true;
- }
- };
- public class HorizontalAdapter extends BaseAdapter {
- public Activity activity;
- Context context;
- ArrayList<Bitmap> list = new ArrayList<Bitmap>();
- ArrayList<String> numList = new ArrayList<String>();
- ArrayList<String> nameList = new ArrayList<String>();
- ArrayList<String> _image = new ArrayList<String>();
- ArrayList<String> popNum = new ArrayList<String>();
- int imagePosition;
- GestureDetector gestureDetector;
- String user_photo;
- public HorizontalAdapter(Context con, ArrayList<Bitmap> arrayList,ArrayList<String> numlist, int pos, ArrayList<String> NameList,ArrayList<String> _photo,ArrayList<String> popNumList){
- context=con;
- list=arrayList;
- numList=numlist;
- imagePosition=pos;
- nameList=NameList;
- _image=_photo;
- popNum=popNumList;
- gestureDetector = new GestureDetector(new MyGestureDetector(con));
- System.out.println("image:"+list.size());
- System.out.println("Number:"+numList.size());
- System.out.println("total record:"+_image.size());
- }
- @Override
- public void notifyDataSetChanged() {
- // TODO Auto-generated method stub
- super.notifyDataSetChanged();
- }
- @Override
- public int getCount() {
- // TODO Auto-generated method stub
- return list.size();
- }
- @Override
- public Object getItem(int position) {
- // TODO Auto-generated method stub
- return list.get(position);
- }
- @Override
- public long getItemId(int position) {
- // TODO Auto-generated method stub
- return position;
- }
- @Override
- public View getView(final int position, View convertView, ViewGroup parent) {
- LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- View vi;
- if(convertView==null){
- vi = new View(context);
- vi = inflater.inflate(R.layout.hori_image, null);
- ImageView iv=(ImageView)vi.findViewById(R.id.image);
- iv.setImageBitmap(list.get(position));
- // iv.setOnLongClickListener(sourceButtonsLongClickListener);
- /* iv.setOnDragListener(myDragEventListener);*/
- iv.setContentDescription(numList.get(position));
- iv.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v)
- {
- System.out.println("in on click");
- String image=_image.get(position);
- if(temp1.equals(image))
- {
- System.out.println("image same");
- QuickActionView qa = QuickActionView.Builder( v );
- // set the adapter
- customAdapter = new CustomAdapter(getApplicationContext() , nameList , popNum) ;
- qa.setAdapter( customAdapter );
- //customAdapter.notifyDataSetChanged();
- // set the number of columns ( setting -1 for auto )
- qa.setNumColumns( (int) (2) );
- qa.setOnClickListener( new DialogInterface.OnClickListener() {
- @Override
- public void onClick( DialogInterface dialog, int which ) {
- dialog.dismiss();
- Toast.makeText( getBaseContext(), "Selected Name: " + nameList.get(which), Toast.LENGTH_SHORT ).show();
- select_number=popNum.get(which);
- System.out.println("name:"+nameList.get(which));
- System.out.println("number:"+numList.get(which));
- }
- } );
- // finally show the view
- qa.show();
- }
- Toast.makeText( getBaseContext(), "Selected Name: ", Toast.LENGTH_SHORT ).show();
- System.out.println("adasdsa"+numList.get(position));
- select_number=numList.get(position);
- }
- });
- // iv.setOnClickListener(CustomGallary.this);
- iv.setOnTouchListener(new OnTouchListener() {
- GestureDetector gestureDetector = new GestureDetector(new MyGestureDetector(context,numList.get(position)));
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- return gestureDetector.onTouchEvent(event);
- }
- });
- }else{
- vi = (View)convertView;
- }
- return vi;
- }
- }
- private class PhoneCallListener extends PhoneStateListener {
- private boolean isPhoneCalling = false;
- String LOG_TAG = "LOGGING 123";
- @Override
- public void onCallStateChanged(int state, String incomingNumber) {
- if(fromappcall){
- if (TelephonyManager.CALL_STATE_RINGING == state) {
- Log.i(LOG_TAG, "RINGING, number: " + incomingNumber);
- }
- if (TelephonyManager.CALL_STATE_OFFHOOK == state) {
- Log.i(LOG_TAG, "OFFHOOK");
- isPhoneCalling = true;
- }
- if (TelephonyManager.CALL_STATE_IDLE == state) {
- if (isPhoneCalling) {
- Intent i = getBaseContext().getPackageManager()
- .getLaunchIntentForPackage(
- getBaseContext().getPackageName());
- i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
- startActivity(i);
- isPhoneCalling = false;
- fromappcall = false;
- }
- }
- }
- }
- }
- //sms observer class for observing sms
- private class SMSObserver extends ContentObserver{
- String lastMessage = null;
- public SMSObserver(Handler handler) {
- super(handler);
- }
- public void onChange(boolean selfChange) {
- super.onChange(selfChange);
- Uri uriSMSURI = Uri.parse("content://sms/");
- Cursor cur = getApplicationContext().getContentResolver().query(uriSMSURI, null, null,null, null);
- cur.moveToNext();
- String id = cur.getString(cur.getColumnIndex("thread_id"));
- String protocol = cur.getString(cur.getColumnIndex("protocol"));
- int type = cur.getInt(cur.getColumnIndex("type"));
- if(protocol==null && type==2 )
- {
- fromappsms=false;
- }
- cur.close();
- }
- }
- @Override
- public boolean onLongClick(View v) {
- return false;
- }
- @Override
- protected void onDestroy() {
- super.onDestroy();
- }
- }
Add Comment
Please, Sign In to add comment