Skip to main content

Featured

Android studio “SDK tools directory is missing”

Following 2 possible solutions will resolve this problem :  Solution1 : To fix the problem, it was required that I list the path to my corporate PAC file by using  Configure -> "Appearance and Behavior" -> System Settings -> HTTP Proxy . I selected "Automatic proxy configuration url:" Delete your  ~/.Android*  folders (losing all of your settings :/). Run Android Studio. It will show you a welcome wizard where it tries to download the SDK again (and fails due to my rubbish internet). Click the X on the wizard window. That will enable you to get to the normal welcome dialog. Go to Settings->Project Defaults->Project Structure and change the Android SDK location to the correct one. Solution 2 : To fix the problem, it was required that I list the path to my corporate PAC file by using  Configure -> "Appearance and Behavior" -> System Settings -> HTTP Proxy . I selected "Automatic proxy configuration url:&quo

code to remove extra(or UnWanted) space between layouts(Linear),Android

//For fixing this issue ,we just do one thing i.e we set margin_top to RelativeLayout instead of LineraLayout using java code.If u set MarginTop to LinearLayout using Java Code then defnitly u wil get Unwanted space between bottom layouts of LinearLayout.So,thats why here i just simplay use RelativeLayout before LinearLayout and set margins to that layout instead of LinearLayout..
(Note:I fixied this isue in my "LegelPlex" Project of NonClientDetails Screen..)


non_client_details_screen.xml:-

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
  <RelativeLayout android:id="@+id/addCaseLayout"
    android:layout_alignParentRight="true"
    android:layout_width="fill_parent"
        android:layout_height="50dip"
        android:background="@drawable/toolbarx"
        android:padding="5dip">     
     
      <RelativeLayout
     android:id="@+id/addsearchcaseButtonlayout"
    android:layout_width="50dip"
        android:layout_height="50dip"
         android:onClick="nonclientdetailsaddClientBtnClick"
       android:layout_alignParentRight="true"
        >  
     
          <ImageView
      android:id="@+id/addsearchcaseButton"
      android:layout_width="20dip"
      android:layout_height="25dip"
      android:layout_centerInParent="true"
      android:src="@drawable/add_icon"    
   
      />
</RelativeLayout>
          <ImageView
        android:layout_height="50dip"
          android:id="@+id/addsearchcaseButtonline"
        android:layout_width="3dip"
        android:src="@drawable/linex"
    
        android:layout_toLeftOf="@+id/addsearchcaseButtonlayout"/>

          <ImageView
                android:id="@+id/nonclientemailimage"
                android:layout_width="41dip"
                android:layout_height="51dip"
                android:layout_gravity="center"
               android:layout_alignParentRight="true"
               android:layout_marginRight="53dip"
                android:src="@drawable/email_icon"
                          android:onClick="NonClientEmailFileOnclick" />
         
          <ImageView
              android:id="@+id/fronttoemailbutton"
        android:layout_height="50dip"
        
        android:layout_width="3dip"
        android:src="@drawable/linex"
     
        android:layout_toLeftOf="@+id/nonclientemailimage"/>
                 
        <ImageView
            android:id="@+id/nonclientdetailsCloseBtn"
            android:layout_width="40dip"
            android:layout_height="40dip"
            android:layout_marginLeft="5dip"
              android:layout_alignParentLeft="true"
             android:layout_centerInParent="true"
            android:src="@drawable/close_new_button"
            android:onClick="nonclientdetailsCloseBtnOnclick"
            android:scaleType="fitXY"
             />
    <ImageView
        android:id="@+id/afterclosebutton"
        android:layout_height="50dip"
        android:layout_width="3dip"
        android:src="@drawable/linex"
        android:layout_toRightOf="@+id/nonclientdetailsCloseBtn"/>

         
      
</RelativeLayout>

 
        <ScrollView android:layout_below="@+id/addCaseLayout"
        android:layout_width="fill_parent"
        android:background="@color/White"
        android:layout_height="fill_parent" >
          <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >
          

                <TextView
                    android:id="@+id/nonclientdetailscaseTitle"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                      android:layout_marginLeft="10dp"
                    android:layout_marginTop="10dip"
                     android:textStyle="bold"
                     android:maxLines="15"
                    android:textSize="16dip"
                    android:textColor="#737373"                    
                    android:layout_marginRight="10dip"
                    android:text="Case Title " />
               
                <TextView
                    android:id="@+id/nonClientViolationCode"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"                     
                    android:layout_marginLeft="10dp"
                    android:layout_marginRight="10dip"
                    android:textSize="12dip"                   
                    android:textColor="#737373"
                    android:text="Violation Code" />
               
                 <RelativeLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="4dip"
                android:layout_marginRight="10dip" >

                <ImageView
                    android:id="@+id/nonClientColapse_Expand_ImageViw"
                    android:layout_width="20dip"
                    android:layout_height="20dip"
                    android:layout_alignParentRight="true"
                    android:layout_centerVertical="true"
                    android:scaleType="fitXY"
                   android:src="@drawable/arrow_expand"
                   />

                <!-- <Button
                    android:id="@+id/changecasestatus"
                    android:layout_width="110dip"
                    android:layout_height="wrap_content"
                    android:layout_alignParentRight="true"
                    android:layout_marginRight="20dip"
                    android:layout_toLeftOf="@+id/colapse_Expand_ImageViw"
                    android:background="@drawable/add_to_clints"
                    android:onClick="changecasestatusBtnClick"
                    android:padding="5dip"
                    android:text="Change Status"
                    android:textColor="@color/White" /> -->
            </RelativeLayout>

                <!-- <TextView
                    android:id="@+id/nonclientdetailscaseMemo"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"                     
                          android:layout_marginLeft="10dp"
                          android:layout_marginRight="10dip"
                       android:textSize="12dip"
                        android:maxLines="2"
                         android:textColor="#737373"
                    android:text="Case Memo" /> -->
               
            <RelativeLayout  android:id="@+id/nonclinetLinearLayot"
                    android:layout_width="fill_parent"
                    android:layout_height="0dip"                    
                     android:layout_marginTop="10dip" >
                     </RelativeLayout><LinearLayout               
                  android:layout_width="fill_parent"
                  android:layout_height="50dip"
                  android:orientation="horizontal"
                  >
               <RelativeLayout android:id="@+id/reltiveLayot1"
               android:layout_width="wrap_content"
               android:layout_height="50dip"
               android:background="@drawable/cell_bg1"
               android:layout_weight="1"
               android:gravity="center_vertical"
               android:onClick="nonclientdetailsCasePersonOnclick" >       
               <ImageView
                    android:id="@+id/nonclinetcasePersonImageView"
                    android:layout_width="24dip"
                    android:layout_height="24dip"
                    android:layout_alignParentLeft="true"
                    android:layout_centerVertical="true"
                    android:layout_marginLeft="5dip"
                    android:src="@drawable/male_female_icon" />
                <TextView
                    android:id="@+id/nonclientcasePersonTxtView"
                    android:layout_width="80dip"
                    android:layout_height="wrap_content"
                      android:layout_centerVertical="true"
                    android:layout_toRightOf="@+id/nonclinetcasePersonImageView"
                    android:layout_marginLeft="5dip"
                    android:layout_marginRight="5dip"           
                    android:text="People"
                    android:textColor="@color/fontColorDark"                  
                    android:textSize="16dip"
                    android:visibility="visible" />               
                   <LinearLayout
                    android:layout_width="24dip"
                    android:layout_height="24dip"
                    android:layout_centerVertical="true"
                    android:layout_toRightOf="@+id/nonclientcasePersonTxtView"
                    android:background="@drawable/tickets_no_row" >
                    <TextView
                        android:id="@+id/noncliebtnoOfCasePersonTxtView"
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"                       
                         android:textColor="@color/fontColorDark"
                        android:gravity="center"
                        android:text="0" />
                </LinearLayout>
                </RelativeLayout>
               


               <RelativeLayout
                   android:layout_width="wrap_content"
                   android:layout_height="50dip"
                   android:layout_weight="1"
                   android:layout_toRightOf="@+id/reltiveLayot1"
                   android:background="@drawable/cell_bg2"
                   android:onClick="nonclientdetailsChargesOnclick" >
       
               <ImageView
                    android:id="@+id/nonclientchargesImageView"
                    android:layout_width="24dip"
                    android:layout_height="24dip"
                    android:layout_alignParentLeft="true"
                    android:layout_centerVertical="true"
                    android:layout_marginLeft="10dip"
                    android:src="@drawable/file_withpen_icon" />

                <TextView
                 android:layout_toRightOf="@+id/nonclientchargesImageView"
                    android:layout_width="85dip"
                    android:layout_height="wrap_content"
                    android:layout_centerVertical="true"
                    android:layout_marginLeft="5dip"           
                    android:text="Charges"
                    android:textColor="@color/fontColorDark"
                   android:id="@+id/nonclinetchargesTxt"
                    android:textSize="16dip"
                    android:visibility="visible" />
               <LinearLayout
                    android:layout_width="24dip"
                    android:layout_height="24dip"
                    android:layout_centerVertical="true"
                    android:layout_toRightOf="@+id/nonclinetchargesTxt"
                    android:background="@drawable/tickets_no_row" >

                    <TextView
                         android:id="@+id/nonclinetnoOfChargesTxt"
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
                         android:textColor="@color/fontColorDark"
                        android:gravity="center"
                        android:text="0" />
                </LinearLayout>
                </RelativeLayout>
               </LinearLayout>
                
            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="50dip"
                android:orientation="horizontal" >   
            <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="50dip"
            android:layout_weight="1"        
            android:background="@drawable/cell_bg1"
            android:onClick="nonclientdetailsPlacesOnclick"   
           >
       
               <ImageView
                    android:id="@+id/nonclinetplaceImageView"
                    android:layout_width="24dip"
                    android:layout_height="24dip"
                    android:layout_alignParentLeft="true"
                    android:layout_centerVertical="true"
                    android:layout_marginLeft="5dip"
                    android:src="@drawable/places_icon" />

                <TextView
                       android:layout_toRightOf="@+id/nonclinetplaceImageView"
                    android:layout_width="80dip"
                    android:id="@+id/nonclientplaceTxt"
                    android:layout_height="wrap_content"
                      android:layout_centerVertical="true"
                      android:layout_marginLeft="5dip"
                    android:layout_marginRight="5dip"         
                    android:text="Places"
                    android:textColor="@color/fontColorDark"                 
                    android:textSize="16dip"
                    android:visibility="visible" />
                 <LinearLayout
                    android:layout_width="24dip"
                    android:layout_height="24dip"
                    android:layout_centerVertical="true"
                    android:layout_toRightOf="@+id/nonclientplaceTxt"
                    android:background="@drawable/tickets_no_row" >

                    <TextView
                        android:id="@+id/nonclientnoOfPlacesTxt"
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"                       
                        android:textColor="@color/fontColorDark"
                        android:gravity="center"
                        android:text="0" />
                </LinearLayout>
                </RelativeLayout>
               
             <RelativeLayout
                    android:layout_width="wrap_content"
                    android:layout_height="50dip"
                    android:layout_weight="1"                   
                    android:background="@drawable/cell_bg2"
                    android:onClick="nonclientdetailsqrImgBtnClick">

                    <ImageView
                        android:id="@+id/nonClientqrImageView"
                        android:layout_width="24dip"
                        android:layout_height="24dip"
                        android:layout_alignParentLeft="true"
                        android:layout_centerVertical="true"
                        android:layout_marginLeft="10dip"
                        android:src="@drawable/qr_iconx" />

                    <TextView
                        android:id="@+id/nonClientqrImgTxtView"
                        android:layout_width="80dip"
                        android:layout_height="wrap_content"
                        android:layout_centerVertical="true"
                        android:layout_marginLeft="5dip"
                        android:layout_marginRight="5dip"
                        android:layout_toRightOf="@+id/nonClientqrImageView"
                        android:text="QR Code"
                        android:textColor="@color/fontColorDark"
                        android:textSize="16dip" />

                    <!-- <LinearLayout
                        android:layout_width="24dip"
                        android:layout_height="24dip"
                        android:layout_centerVertical="true"
                        android:layout_toRightOf="@+id/placeTxt"
                        android:background="@drawable/tickets_no_row" >

                        <TextView
                            android:id="@+id/noOfPlacesTxt"
                            android:layout_width="fill_parent"
                            android:layout_height="fill_parent"
                            android:gravity="center"
                            android:text="0"
                            android:textColor="@color/fontColorDark" />
                    </LinearLayout> -->
                </RelativeLayout>
                </LinearLayout>
                
               
              </LinearLayout></ScrollView>

</RelativeLayout>


NonClientDetailsScrreen.java:-

package com.dharani.android.legalplex.PresentationLayer;

import android.app.Activity;
import android.app.Dialog;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Bitmap;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.view.ViewTreeObserver;
import android.view.Window;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;

import com.dharani.android.legalplex.R;
import com.dharani.android.legalplex.SharedVariables;
import com.dharani.android.legalplex.BusinessLayer.BLCommonOperations;
import com.dharani.android.legalplex.BusinessLayer.BLDetailScreenOperations;
import com.dharani.android.legalplex.DataLayer.Case.PLclsCaseForTable;
import com.dharani.android.legalplex.DataLayer.Search.clsSearchDetail;

public class NonClientDetailsScrreen extends abstractActivity{

    BLDetailScreenOperations objDetailScreenOperations=null;
    PLclsCaseForTable objPLclsCaseForTable=null;
    clsSearchDetail objclsSearchDetail=null;
    static int textViewFlag=0;
    static boolean countflag=false;
    static int maxlinecount=2;
    static boolean myFlag=true;
    static String memoStr;
    static String titleStr;
    static LinearLayout.LayoutParams adaptLayout ;
    //Button qrImgBtn=null;
    TextView caseTitle=null,nonClientViolationCode=null,/*caseMemo=null,*/noncliebtnoOfCasePersonTxtView=null,nonclinetnoOfChargesTxt=null,nonclientnoOfPlacesTxt=null,nonClientqrImgTxtView=null;
    Bundle bundle =null;   
    int position=0;
    static int memoMaxLines=0;
    boolean from_search_screen=false;
    ImageView nonClientColapse_Expand_ImageViw=null,nonclientemailimage=null,fronttoemailbutton,afterclosebutton,addsearchcaseButtonline;
    static ViewTreeObserver vtoMemo=null,vtoTitle=null;
    int titleMaxLines=0;
    static ViewTreeObserver.OnGlobalLayoutListener layoutListenerMemo;
    static ViewTreeObserver.OnGlobalLayoutListener layoutListenerTitle;
     static ViewTreeObserver observerMemo ;
    static ViewTreeObserver observerTitle;
    RelativeLayout nonclinetLinearLayot;
    Activity activity=null;
    private SharedPreferences sharedpreferences;
    private int employeeAccessLevelId;
    RelativeLayout addsearchcaseButtonlayout=null;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
       
        setContentView(R.layout.non_client_details_screen);
        activity=this;
        getAllIds();
        sharedpreferences=getSharedPreferences("LegalPlexPreferences", 0);
        employeeAccessLevelId=sharedpreferences.getInt("empaccesslevelid", 0);
        titleMaxLines=0;
        memoMaxLines=0;   
        //This code is important,it used to compress the expanded TextView when user press the Back button
        System.out.println("----onCreate---********");                   
        nonClientColapse_Expand_ImageViw.setImageResource(R.drawable.arrow_expand);
        countflag=false;
        myFlag=true;
       
      //code to get objects from bundle
        bundle = getIntent().getExtras();
       
        try {
            //code to get all objects using Bundle from previous activity
            if(bundle!=null){
                objPLclsCaseForTable=(PLclsCaseForTable) bundle.getSerializable("PLclsCaseForTableObj");           
                 objclsSearchDetail = (clsSearchDetail) bundle.getParcelable("clsSearchDetailsObj");
                position=bundle.getInt("position");
                from_search_screen=bundle.getBoolean("from_search_screen");
            }
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }       
        if(employeeAccessLevelId!=10){
            if(employeeAccessLevelId!=20){
                fronttoemailbutton.setVisibility(View.VISIBLE);
               
                addsearchcaseButtonline.setVisibility(View.VISIBLE);
           
            addsearchcaseButtonlayout.setVisibility(View.VISIBLE);
           
            }else{
                fronttoemailbutton.setVisibility(View.GONE);
               
                addsearchcaseButtonline.setVisibility(View.GONE);
                addsearchcaseButtonlayout.setVisibility(View.GONE);
            }
        }else{
            fronttoemailbutton.setVisibility(View.GONE);
           
            addsearchcaseButtonline.setVisibility(View.GONE);
            addsearchcaseButtonlayout.setVisibility(View.GONE);
        }
       
        renderUI();
       
    }//onCreate()..
   
    //getting all ids...
    private void getAllIds() {
       
       
        nonclientemailimage=(ImageView)findViewById(R.id.nonclientemailimage);
        afterclosebutton=(ImageView)findViewById(R.id.afterclosebutton);
        addsearchcaseButtonline=(ImageView)findViewById(R.id.addsearchcaseButtonline);
        addsearchcaseButtonlayout=(RelativeLayout)findViewById(R.id.addsearchcaseButtonlayout);
        fronttoemailbutton=(ImageView)findViewById(R.id.fronttoemailbutton);
       
        //get all widget Ids       
        nonClientColapse_Expand_ImageViw=(ImageView)findViewById(R.id.nonClientColapse_Expand_ImageViw);
        nonClientColapse_Expand_ImageViw.setOnClickListener(new View.OnClickListener() {           
            /*@Override
            public void onClick(View v) {
               
                if(countflag){
                    System.out.println("-------********");                   
                    nonClientColapse_Expand_ImageViw.setImageResource(R.drawable.arrow_expand);
                    countflag=false;                   
                       
                    if(titleMaxLines>=15){
                       
                        caseTitle.setMaxLines(15);
                        //titleMaxLines=6;
                       
                    }else
                        if(titleMaxLines<15){                           
                            caseTitle.setMaxLines(titleMaxLines);
                        //titleMaxLines=caseTitle.getLineCount();   
                        }             
                   
                    System.out.println("-------***titleMaxLines*****"+titleMaxLines);                   
                    caseTitle.setText(titleStr);                                   
                   
                }else{                       
                    System.out.println("------else-********");               
                    nonClientColapse_Expand_ImageViw.setImageResource(R.drawable.arrow_collapse);
                        countflag=true;
                       
                        caseTitle.setVisibility(View.VISIBLE);
                        memoMaxLines=caseMemo.getLineCount();
                        titleMaxLines=caseTitle.getLineCount();                       
                        caseTitle.setMaxLines(titleMaxLines);
                       
                        System.out.println("------titleMaxLines-********"+titleMaxLines);                       
                        caseTitle.setText(titleStr);                       
                    }
            } ///onClick()...
        });*/
            @Override
            public void onClick(View v) {
               
                if(countflag){
                    System.out.println("-------********");                   
                    nonClientColapse_Expand_ImageViw.setImageResource(R.drawable.arrow_expand);
                    countflag=false;                   
                       
                    if(titleMaxLines>=15){
                        nonClientViolationCode.setVisibility(View.GONE);
                        caseTitle.setMaxLines(15);
                        //titleMaxLines=6;
                       
                    }else
                        if(titleMaxLines<15){
                            nonClientViolationCode.setVisibility(View.VISIBLE);
                            nonClientViolationCode.setMaxLines(15-titleMaxLines);
                            caseTitle.setMaxLines(titleMaxLines);
                        //titleMaxLines=caseTitle.getLineCount();   
                        }
                   
                   
                    System.out.println("-------**memoMaxLines******"+memoMaxLines);   
                    System.out.println("-------***titleMaxLines*****"+titleMaxLines);   
                    nonClientViolationCode.setText(memoStr);
                    caseTitle.setText(titleStr.toUpperCase());                                   
                   
                }else{                       
                    System.out.println("------else-********");               
                    nonClientColapse_Expand_ImageViw.setImageResource(R.drawable.arrow_collapse);
                        countflag=true;
                        nonClientViolationCode.setVisibility(View.VISIBLE);
                        caseTitle.setVisibility(View.VISIBLE);
                        /*memoMaxLines=caseMemo.getLineCount();
                        titleMaxLines=caseTitle.getLineCount();*/
                        nonClientViolationCode.setMaxLines(memoMaxLines);
                        caseTitle.setMaxLines(titleMaxLines);
                        System.out.println("------memoMaxLines-********"+memoMaxLines);   
                        System.out.println("------titleMaxLines-********"+titleMaxLines);   
                        nonClientViolationCode.setText(memoStr);
                        caseTitle.setText(titleStr.toUpperCase());                       
                    }
            } ///onClick()...
        });
       
       
        nonClientColapse_Expand_ImageViw=(ImageView)findViewById(R.id.nonClientColapse_Expand_ImageViw);
        nonClientqrImgTxtView=(TextView)findViewById(R.id.nonClientqrImgTxtView);
        nonClientqrImgTxtView.setTypeface(SharedVariables.font,Typeface.BOLD);
        caseTitle=(TextView)findViewById(R.id.nonclientdetailscaseTitle);
        caseTitle.setTypeface(SharedVariables.font,Typeface.BOLD);
       
        nonclinetLinearLayot=(RelativeLayout)findViewById(R.id.nonclinetLinearLayot);
        adaptLayout = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, 80);
        adaptLayout.setMargins(0, 10,0 ,0 );  
        nonclinetLinearLayot.setLayoutParams(adaptLayout);
        /*caseMemo=(TextView)findViewById(R.id.nonclientdetailscaseMemo);
        caseMemo.setTypeface(SharedVariables.font);*/
       
        nonClientViolationCode=(TextView)findViewById(R.id.nonClientViolationCode);
        nonClientViolationCode.setTypeface(SharedVariables.font);
       
        TextView peopleScreenTxt=(TextView)findViewById(R.id.nonclientcasePersonTxtView);
        peopleScreenTxt.setTypeface(SharedVariables.font,Typeface.BOLD);
     
        TextView placestxt=(TextView)findViewById(R.id.nonclientplaceTxt);
        placestxt.setTypeface(SharedVariables.font,Typeface.BOLD);;
       
        TextView chargesScreenTxt=(TextView) findViewById(R.id.nonclinetchargesTxt);
        chargesScreenTxt.setTypeface(SharedVariables.font,Typeface.BOLD);
       
        noncliebtnoOfCasePersonTxtView=(TextView) findViewById(R.id.noncliebtnoOfCasePersonTxtView);
        noncliebtnoOfCasePersonTxtView.setTypeface(SharedVariables.font,Typeface.BOLD);
       
        nonclinetnoOfChargesTxt=(TextView) findViewById(R.id.nonclinetnoOfChargesTxt);
        nonclinetnoOfChargesTxt.setTypeface(SharedVariables.font,Typeface.BOLD);
       
        nonclientnoOfPlacesTxt=(TextView) findViewById(R.id.nonclientnoOfPlacesTxt);
        nonclientnoOfPlacesTxt.setTypeface(SharedVariables.font,Typeface.BOLD);
    }
   
    public void renderUI()
    {
        if(objPLclsCaseForTable!=null)
        {
            memoStr=objPLclsCaseForTable.text3;
            System.out.println(".....memoStr....."+memoStr.trim());
            nonClientViolationCode.setText(memoStr.trim()); //need to implement...
              observerMemo = nonClientViolationCode.getViewTreeObserver();
              observerMemo.addOnGlobalLayoutListener(layoutListenerMemo
               = new ViewTreeObserver.OnGlobalLayoutListener() {
                  @Override
                  public void onGlobalLayout() {                             
                         
                      } });
           
            titleStr=objPLclsCaseForTable.caseTitle;
            caseTitle.setText(titleStr.trim().toUpperCase());   
            myFlag=true;
            titleMaxLines=0;
            memoMaxLines=0;           
            observerTitle = caseTitle.getViewTreeObserver();
            observerTitle.addOnGlobalLayoutListener(layoutListenerTitle
             = new ViewTreeObserver.OnGlobalLayoutListener() {
                @Override
                public void onGlobalLayout() {               
                   
                    if(myFlag){
                       
                        //here some problem exists,that is if there is no content in "caseMemo/caseTitle TextView" then caseTitle.getLineCount()(or)caseMemo.getLineCount() will return '1' count value,but actually we need to get '0' count value
                        //To solve above problem we write below code..
                        int totalMaxLines=0;
                       
                            if(titleStr.trim().length()>0){
                                titleMaxLines=caseTitle.getLineCount(); //here 'titleMaxLines' used in many times in code
                                }/*else {
                                    caseTitle.setVisibility(View.GONE);
                                }*/
                                if(memoStr.trim().length()>0)
                                {
                                memoMaxLines=nonClientViolationCode.getLineCount();//here 'memoMaxLines' used in many times in code
                                }/*else {
                                    caseMemo.setVisibility(View.GONE);
                                }*/
                                //get Total count of lines..
                                totalMaxLines=titleMaxLines+memoMaxLines;                  
                       
                        System.out.println("********total Count**********"+totalMaxLines);
                        System.out.println("***caseTitleCount="+titleMaxLines+"  "+"***caseMemoCount="+memoMaxLines);                   
                                           
                           
                            if(caseTitle!=null)
                            {                   
                            if(titleMaxLines>=15)
                            {   
                                nonClientViolationCode.setVisibility(View.GONE);                                                   
                                nonClientColapse_Expand_ImageViw.setVisibility(View.VISIBLE);
                                System.out.println("********Image Visible-1*********");
                                caseTitle.setMaxLines(15);                           
                            }else
                                if(titleMaxLines<15 && titleMaxLines>0){ //here caseTitle having 5/4/3/2/1 lines..
                                    caseTitle.setMaxLines(titleMaxLines);
                                    nonClientViolationCode.setVisibility(View.VISIBLE);
                                    int requiredRows=15-titleMaxLines;
                                    nonClientViolationCode.setMaxLines(requiredRows);
                                    nonClientColapse_Expand_ImageViw.setVisibility(View.VISIBLE);
                                    System.out.println("********Image Visible-2*********");                           
                                }
                                           
                                if(totalMaxLines<=15)
                                {   
                                    System.out.println("********Image Gone*********");
                                    nonClientColapse_Expand_ImageViw.setVisibility(View.GONE);
                                }
                           
                           
                            //setting marging Top for putting it in bottom of screen..
                                if(totalMaxLines==11){
                                    System.out.println("********totalMaxLines==5*********");
                                adaptLayout.setMargins(0, 280,0 ,0 );  
                                nonclinetLinearLayot.setLayoutParams(adaptLayout);
                                }else
                                    if(totalMaxLines==10){
                                        System.out.println("********totalMaxLines==5*********");
                                    adaptLayout.setMargins(0, 300,0 ,0 );  
                                    nonclinetLinearLayot.setLayoutParams(adaptLayout);
                                    }else
                                        if(totalMaxLines==9){
                                            System.out.println("********totalMaxLines==5*********");
                                        adaptLayout.setMargins(0, 320,0 ,0 );  
                                        nonclinetLinearLayot.setLayoutParams(adaptLayout);
                                        }else
                                            if(totalMaxLines==8){
                                                System.out.println("********totalMaxLines==5*********");
                                            adaptLayout.setMargins(0, 340,0 ,0 );  
                                            nonclinetLinearLayot.setLayoutParams(adaptLayout);
                                            }else
                                                if(totalMaxLines==7){
                                                    System.out.println("********totalMaxLines==5*********");
                                                adaptLayout.setMargins(0, 360,0 ,0 );  
                                                nonclinetLinearLayot.setLayoutParams(adaptLayout);
                                                }else
                            if(totalMaxLines==6){
                                System.out.println("********count*********"+titleMaxLines+"---"+memoMaxLines+"***");                                           
                               
                                if(titleMaxLines==1 && memoMaxLines==5){
                                    System.out.println("********totalMaxLines==1,5*********");
                                    adaptLayout.setMargins(0, 395,0 ,0 );  
                                    nonclinetLinearLayot.setLayoutParams(adaptLayout);
                                }else{
                                if(titleMaxLines==2 && memoMaxLines==4){
                                    System.out.println("********totalMaxLines==2,4*********");
                                    adaptLayout.setMargins(0, 390,0 ,0 );  
                                    nonclinetLinearLayot.setLayoutParams(adaptLayout);
                                }else{                                           
                                System.out.println("********totalMaxLines==6*********");
                                adaptLayout.setMargins(0, 380,0 ,0 );  
                                nonclinetLinearLayot.setLayoutParams(adaptLayout);
                                }}}else
                            if(totalMaxLines==5){
                                System.out.println("********totalMaxLines==5*********");
                            adaptLayout.setMargins(0, 400,0 ,0 );  
                            nonclinetLinearLayot.setLayoutParams(adaptLayout);
                            }else if(totalMaxLines==4){
                                System.out.println("********totalMaxLines==4*********");
                                adaptLayout.setMargins(0, 420,0 ,0 );  
                                nonclinetLinearLayot.setLayoutParams(adaptLayout);
                                }else if(totalMaxLines==3){
                                    System.out.println("********totalMaxLines==3*********");
                                    adaptLayout.setMargins(0, 440,0 ,0 );  
                                    nonclinetLinearLayot.setLayoutParams(adaptLayout);
                                    }else if(totalMaxLines==2){
                                        System.out.println("********totalMaxLines==2*********");
                                        adaptLayout.setMargins(0, 460,0 ,0 );  
                                        nonclinetLinearLayot.setLayoutParams(adaptLayout);
                                        }else if(totalMaxLines==1){
                                            System.out.println("********totalMaxLines==1*********");
                                            adaptLayout.setMargins(0, 480,0 ,0 );  
                                            nonclinetLinearLayot.setLayoutParams(adaptLayout);
                                            }else if(totalMaxLines==0){
                                                System.out.println("********totalMaxLines==1*********");
                                                adaptLayout.setMargins(0, 500,0 ,0 );  
                                                nonclinetLinearLayot.setLayoutParams(adaptLayout);
                                                }                        
                        }                       
                        myFlag=false;
                        }               
                    } });
            System.out.println(".....titleStr....."+titleStr.trim());
            System.out.println(".....titleStr....."+titleStr.trim());
           
           
            /*caseMemo.setText(objPLclsCaseForTable.text1); //need to implement...
            vtoMemo = caseMemo.getViewTreeObserver();
            vtoMemo.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
                @Override
                public void onGlobalLayout() {                   
                    caseMemo.getViewTreeObserver().removeGlobalOnLayoutListener(this);               
                    if(caseMemo!=null)
                    {
                        if(caseMemo.getLineCount()>2)
                        {                                       
                            nonClient_Colapse_Expand_ImageViw.setImageResource(R.drawable.arrow_expand);
                            nonClient_Colapse_Expand_ImageViw.setVisibility(View.VISIBLE);
                            caseMemo.setMaxLines(maxlinecount);
                        }else{
                            nonClient_Colapse_Expand_ImageViw.setVisibility(View.GONE);
                           
                        }
                    }                   
                    } });*/
           
        }
       
        if(objclsSearchDetail!=null)
        {
            try {
                noncliebtnoOfCasePersonTxtView.setText(""+objclsSearchDetail.getCasePersonsArray().size());
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
           
            try {
                nonclinetnoOfChargesTxt.setText(""+objclsSearchDetail.getChargeArray().size());
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
           
            try {
                nonclientnoOfPlacesTxt.setText(""+objclsSearchDetail.getPlaceArray().size());
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
           
        }
       
       
       
       
    }
   
    //clicking the ShowQRImage button to display QRImage
    public void nonclientdetailsqrImgBtnClick(View view)
    {           
            //creating dialog
            final Dialog dialog = new Dialog(this);
            dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
            dialog.setCanceledOnTouchOutside(true);
            new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT/*260,250*/);
           
            objDetailScreenOperations=new BLDetailScreenOperations();
            Bitmap bitmap=objDetailScreenOperations.getQRImageForNonClient(activity,objPLclsCaseForTable);//get bitmap using method
            ImageView imgView=new ImageView(SharedVariables.globalContext);
            imgView.setImageBitmap(bitmap);
            LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);//LayoutParams.WRAP_CONTENT);
            dialog.addContentView(imgView, layoutParams);   
            dialog.show();
           
            //dialog.setCancelable(true);
           
            imgView.setOnClickListener(new OnClickListener() {
               
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    dialog.dismiss();
                }
            });
           
            dialog.setCanceledOnTouchOutside(true);
        }
   
    public void nonclientdetailsCloseBtnOnclick(View v)
    {
        finish();
    }
   

    //EmailFileOnclick it is for email button onclick.  if we click on this,the pdf file has to be generate has to be send to the mail
    public void NonClientEmailFileOnclick(View v){
       
        if(objclsSearchDetail!=null){
            if(objPLclsCaseForTable!=null){

                BLCommonOperations objBLCommonOperations=new BLCommonOperations();
                objBLCommonOperations.generatePdfAndEmailFileForNon_Client(activity, objclsSearchDetail, objPLclsCaseForTable);
                objBLCommonOperations=null;
            }
           
    }
       
    }
   
   
    //clicking the addClient button
    public void nonclientdetailsaddClientBtnClick(View v){
   
        BLCommonOperations objBLCommonOperations=new BLCommonOperations();
       
        if(objBLCommonOperations.checkInternetConnection(this))
        {
            System.out.println("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^66");
            Intent intent=new Intent(this,AddCaseScreen.class);
            Bundle bundle=new Bundle();
            bundle.putBoolean("fromNonClientDetails", true);
            bundle.putSerializable("PLclsCaseForTableObj",objPLclsCaseForTable);
            intent.putExtras(bundle);
            startActivityForResult(intent, 0);
           
        }
        else{
            SharedVariables.showAlertMessage(SharedVariables.internetErrorMsg, this);
        }
       
        objBLCommonOperations=null;
       
        /*
        // TODO Auto-generated method stub
        objDetailScreenOperations=new BLDetailScreenOperations();
        objDetailScreenOperations.addSearchCase(objPLclsCaseForTable, NonClientDetailsScrreen.this,position,from_search_screen);
       
        objDetailScreenOperations=null;*/
    }
   
     //we need a handler for when the secondary activity finishes it's work
    //and returns control to this activity...
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent intent){
        super.onActivityResult(requestCode, resultCode, intent);
       
        if(resultCode==RESULT_OK){
        Bundle extras = intent.getExtras();
        int categoryID=0,caseStatusID=0,caseAccessLevelID=0;
        String memoString = "";
        //getting the values in Bundle...
        if(extras!=null){
           
            categoryID=extras.getInt("categoryIDKey");           
            caseStatusID=extras.getInt("caseStatusIDKey");
            caseAccessLevelID=extras.getInt("caseAccessLevelIDKey");
            memoString=extras.getString("memoStringKey");
            if(memoString==null)
                memoString="";
            System.out.println("--bundle values--"+categoryID+" "+caseStatusID+" "+caseAccessLevelID+" "+memoString+" ");   
           
        }       
        objDetailScreenOperations=new BLDetailScreenOperations();
        objDetailScreenOperations.addSearchCase(objPLclsCaseForTable, NonClientDetailsScrreen.this,position,from_search_screen,categoryID,caseStatusID,caseAccessLevelID,memoString);
        objDetailScreenOperations=null;
        }
       
    }
   
    public void nonclientdetailsCasePersonOnclick(View v)
    {
        //Invoke CasePersons Screen...
       
        Intent i=new Intent(this,CasePersonScreen.class);
        Bundle b=new Bundle();
        b.putParcelable("clsSearchDetailObj",objclsSearchDetail);
        b.putParcelable("clsCaseObj", null);
        i.putExtras(b);
        startActivity(i);
       
    }
   

    public void nonclientdetailsChargesOnclick(View v)
    {
        //Invoke Charges Screen...
       
        Intent i=new Intent(this,ChargeScreen.class);
        Bundle b=new Bundle();
        b.putParcelable("clsSearchDetailObj",objclsSearchDetail);
        b.putParcelable("clsCaseObj", null);
        i.putExtras(b);
        startActivity(i);
    }
   
    public void nonclientdetailsPlacesOnclick(View v)
    {
        //Invoke Places Screen...
       
        Intent i=new Intent(this,PlaceScreen.class);
        Bundle b=new Bundle();
        b.putParcelable("clsSearchDetailObj",objclsSearchDetail);
        b.putParcelable("clsCaseObj", null);
        i.putExtras(b);
        startActivity(i);
    }
   
   
   
     @Override
        public void onDestroy() {
            super.onDestroy();
           
            //cleaning the objects..
            //qrImgBtn=null;
            objPLclsCaseForTable=null;
            objclsSearchDetail=null;
           caseTitle=null;
           noncliebtnoOfCasePersonTxtView=null;nonclinetnoOfChargesTxt=null;nonclientnoOfPlacesTxt=null;
       
     }
   
   
}///class



Comments