multiple fixes to re-enable VPN mode and pdnsd daemon
This commit is contained in:
		
							parent
							
								
									ca238c6521
								
							
						
					
					
						commit
						da0fb101f3
					
				| 
						 | 
				
			
			@ -16,10 +16,9 @@ public class OnBootReceiver extends BroadcastReceiver {
 | 
			
		|||
 | 
			
		||||
	@Override
 | 
			
		||||
	public void onReceive(Context context, Intent intent) {
 | 
			
		||||
	    Prefs.setContext(context);
 | 
			
		||||
		if (Prefs.startOnBoot() && (!sReceivedBoot))
 | 
			
		||||
		{			
 | 
			
		||||
 | 
			
		||||
		if (Prefs.startOnBoot() && (!sReceivedBoot))
 | 
			
		||||
		{
 | 
			
		||||
			if (Prefs.useVpn())
 | 
			
		||||
				startVpnService(context); //VPN will start Tor once it is done
 | 
			
		||||
			else
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -52,6 +52,7 @@ import android.support.v4.content.LocalBroadcastManager;
 | 
			
		|||
import android.support.v4.widget.DrawerLayout;
 | 
			
		||||
import android.support.v7.app.ActionBarDrawerToggle;
 | 
			
		||||
import android.support.v7.app.AppCompatActivity;
 | 
			
		||||
import android.support.v7.widget.SwitchCompat;
 | 
			
		||||
import android.support.v7.widget.Toolbar;
 | 
			
		||||
import android.util.AttributeSet;
 | 
			
		||||
import android.util.Log;
 | 
			
		||||
| 
						 | 
				
			
			@ -70,10 +71,10 @@ import android.widget.AdapterView;
 | 
			
		|||
import android.widget.AdapterView.OnItemSelectedListener;
 | 
			
		||||
import android.widget.ArrayAdapter;
 | 
			
		||||
import android.widget.Button;
 | 
			
		||||
import android.widget.CompoundButton;
 | 
			
		||||
import android.widget.Spinner;
 | 
			
		||||
import android.widget.TextView;
 | 
			
		||||
import android.widget.Toast;
 | 
			
		||||
import android.widget.ToggleButton;
 | 
			
		||||
 | 
			
		||||
import com.google.zxing.integration.android.IntentIntegrator;
 | 
			
		||||
import com.google.zxing.integration.android.IntentResult;
 | 
			
		||||
| 
						 | 
				
			
			@ -89,9 +90,9 @@ public class OrbotMainActivity extends AppCompatActivity
 | 
			
		|||
    private TextView uploadText = null;
 | 
			
		||||
    private TextView mTxtOrbotLog = null;
 | 
			
		||||
    
 | 
			
		||||
    private Button mBtnBrowser = null;
 | 
			
		||||
    private ToggleButton mBtnVPN = null;
 | 
			
		||||
    private ToggleButton mBtnBridges = null;
 | 
			
		||||
   // private Button mBtnBrowser = null;
 | 
			
		||||
    private SwitchCompat mBtnVPN = null;
 | 
			
		||||
    private SwitchCompat mBtnBridges = null;
 | 
			
		||||
    
 | 
			
		||||
    private Spinner spnCountries = null;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -257,7 +258,7 @@ public class OrbotMainActivity extends AppCompatActivity
 | 
			
		|||
    
 | 
			
		||||
        // Gesture detection
 | 
			
		||||
		mGestureDetector = new GestureDetector(this, new MyGestureDetector());
 | 
			
		||||
		
 | 
			
		||||
		/**
 | 
			
		||||
		mBtnBrowser = (Button)findViewById(R.id.btnBrowser);
 | 
			
		||||
		mBtnBrowser.setOnClickListener(new View.OnClickListener ()
 | 
			
		||||
		{
 | 
			
		||||
| 
						 | 
				
			
			@ -271,8 +272,9 @@ public class OrbotMainActivity extends AppCompatActivity
 | 
			
		|||
		});
 | 
			
		||||
		
 | 
			
		||||
		mBtnBrowser.setEnabled(false);
 | 
			
		||||
		
 | 
			
		||||
		mBtnVPN = (ToggleButton)findViewById(R.id.btnVPN);
 | 
			
		||||
		 */
 | 
			
		||||
 | 
			
		||||
		mBtnVPN = (SwitchCompat)findViewById(R.id.btnVPN);
 | 
			
		||||
		
 | 
			
		||||
		boolean canDoVPN = Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -292,24 +294,23 @@ public class OrbotMainActivity extends AppCompatActivity
 | 
			
		|||
				startActivity(new Intent(OrbotMainActivity.this,VPNEnableActivity.class));
 | 
			
		||||
			}
 | 
			
		||||
			
 | 
			
		||||
			mBtnVPN.setOnClickListener(new View.OnClickListener ()
 | 
			
		||||
			{
 | 
			
		||||
	
 | 
			
		||||
				@Override
 | 
			
		||||
				public void onClick(View v) {
 | 
			
		||||
	
 | 
			
		||||
					if (mBtnVPN.isChecked())
 | 
			
		||||
						startActivity(new Intent(OrbotMainActivity.this,VPNEnableActivity.class));
 | 
			
		||||
					else
 | 
			
		||||
						stopVpnService();
 | 
			
		||||
					
 | 
			
		||||
				}
 | 
			
		||||
	
 | 
			
		||||
			});
 | 
			
		||||
			mBtnVPN.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener()
 | 
			
		||||
            {
 | 
			
		||||
                @Override
 | 
			
		||||
                public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
 | 
			
		||||
                {
 | 
			
		||||
                    if (isChecked)
 | 
			
		||||
                        startActivity(new Intent(OrbotMainActivity.this,VPNEnableActivity.class));
 | 
			
		||||
                    else
 | 
			
		||||
                        stopVpnService();
 | 
			
		||||
                }
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		
 | 
			
		||||
		mBtnBridges = (ToggleButton)findViewById(R.id.btnBridges);
 | 
			
		||||
		mBtnBridges = (SwitchCompat)findViewById(R.id.btnBridges);
 | 
			
		||||
		mBtnBridges.setChecked(Prefs.bridgesEnabled());
 | 
			
		||||
		mBtnBridges.setOnClickListener(new View.OnClickListener ()
 | 
			
		||||
		{
 | 
			
		||||
| 
						 | 
				
			
			@ -323,7 +324,6 @@ public class OrbotMainActivity extends AppCompatActivity
 | 
			
		|||
				}
 | 
			
		||||
				else
 | 
			
		||||
				{
 | 
			
		||||
					Toast.makeText(OrbotMainActivity.this, R.string.note_only_standard_tor_bridges_work_on_intel_x86_atom_devices, Toast.LENGTH_LONG).show();
 | 
			
		||||
					showGetBridgePrompt(""); //if other chip ar, only stock bridges are supported
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
| 
						 | 
				
			
			@ -1063,11 +1063,7 @@ public class OrbotMainActivity extends AppCompatActivity
 | 
			
		|||
    protected void onResume() {
 | 
			
		||||
        super.onResume();
 | 
			
		||||
 | 
			
		||||
        if (mPrefs != null)
 | 
			
		||||
        {
 | 
			
		||||
			mBtnVPN.setChecked(Prefs.useVpn());			
 | 
			
		||||
			mBtnBridges.setChecked(Prefs.bridgesEnabled());
 | 
			
		||||
        }
 | 
			
		||||
        mBtnBridges.setChecked(Prefs.bridgesEnabled());
 | 
			
		||||
 | 
			
		||||
		requestTorStatus();
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1124,7 +1120,7 @@ public class OrbotMainActivity extends AppCompatActivity
 | 
			
		|||
        	
 | 
			
		||||
            imgStatus.setImageResource(R.drawable.toron);
 | 
			
		||||
 | 
			
		||||
            mBtnBrowser.setEnabled(true);
 | 
			
		||||
          //mBtnBrowser.setEnabled(true);
 | 
			
		||||
 | 
			
		||||
            if (torServiceMsg != null)
 | 
			
		||||
            {
 | 
			
		||||
| 
						 | 
				
			
			@ -1170,7 +1166,7 @@ public class OrbotMainActivity extends AppCompatActivity
 | 
			
		|||
            else
 | 
			
		||||
            	lblStatus.setText(getString(R.string.status_starting_up));
 | 
			
		||||
            
 | 
			
		||||
            mBtnBrowser.setEnabled(false);
 | 
			
		||||
       //     mBtnBrowser.setEnabled(false);
 | 
			
		||||
 | 
			
		||||
        } else if (torStatus == TorServiceConstants.STATUS_STOPPING) {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1179,13 +1175,13 @@ public class OrbotMainActivity extends AppCompatActivity
 | 
			
		|||
        	  
 | 
			
		||||
            imgStatus.setImageResource(R.drawable.torstarting);
 | 
			
		||||
            lblStatus.setText(torServiceMsg);
 | 
			
		||||
            mBtnBrowser.setEnabled(false);
 | 
			
		||||
          //  mBtnBrowser.setEnabled(false);
 | 
			
		||||
 | 
			
		||||
        } else if (torStatus == TorServiceConstants.STATUS_OFF) {
 | 
			
		||||
 | 
			
		||||
            imgStatus.setImageResource(R.drawable.toroff);
 | 
			
		||||
            lblStatus.setText(getString(R.string.press_to_start));
 | 
			
		||||
            mBtnBrowser.setEnabled(false);
 | 
			
		||||
//            mBtnBrowser.setEnabled(false);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (torServiceMsg != null && torServiceMsg.length() > 0)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -71,7 +71,6 @@ public class VPNEnableActivity extends Activity {
 | 
			
		|||
			@Override
 | 
			
		||||
			public void onClick(DialogInterface dialog, int which) {
 | 
			
		||||
		        Prefs.putUseVpn(true);
 | 
			
		||||
		        
 | 
			
		||||
				startVpnService();
 | 
			
		||||
				
 | 
			
		||||
			}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -30,92 +30,7 @@
 | 
			
		|||
      android:layout_height="wrap_content"
 | 
			
		||||
      
 | 
			
		||||
      >
 | 
			
		||||
      
 | 
			
		||||
        <LinearLayout
 | 
			
		||||
    android:layout_width="match_parent"
 | 
			
		||||
    android:layout_height="match_parent"
 | 
			
		||||
    android:orientation="vertical"
 | 
			
		||||
    
 | 
			
		||||
     >
 | 
			
		||||
        
 | 
			
		||||
    		
 | 
			
		||||
    <!-- 
 | 
			
		||||
	<TextView android:id="@+id/lblStatus"
 | 
			
		||||
		android:text="status status status"
 | 
			
		||||
		android:gravity="center_horizontal"
 | 
			
		||||
		android:textSize="20sp"
 | 
			
		||||
		android:layout_width="match_parent"
 | 
			
		||||
		android:layout_height="wrap_content"
 | 
			
		||||
		android:layout_marginBottom="10dp"
 | 
			
		||||
		android:layout_marginTop="10dp"
 | 
			
		||||
		android:layout_marginLeft="40dp"
 | 
			
		||||
		android:layout_marginRight="40dp"
 | 
			
		||||
		android:textColor="#ffffff"
 | 
			
		||||
		android:maxLines="1"
 | 
			
		||||
		android:fontFamily="sans-serif-light"	
 | 
			
		||||
		 />
 | 
			
		||||
		     -->
 | 
			
		||||
		     
 | 
			
		||||
	    <RelativeLayout 
 | 
			
		||||
		     android:id="@+id/rowTrafficDown" 
 | 
			
		||||
		     android:layout_width="match_parent"
 | 
			
		||||
		      android:layout_height="wrap_content"
 | 
			
		||||
		       android:orientation="horizontal"
 | 
			
		||||
		       android:paddingLeft="3sp"
 | 
			
		||||
		       android:paddingRight="3sp"
 | 
			
		||||
		       
 | 
			
		||||
		      >
 | 
			
		||||
	    <TextView
 | 
			
		||||
	    	android:id="@+id/trafficLabelDown"
 | 
			
		||||
			android:layout_width="wrap_content"
 | 
			
		||||
			android:layout_height="wrap_content"
 | 
			
		||||
			 android:layout_alignParentLeft="true"
 | 
			
		||||
			android:textSize="15sp"
 | 
			
		||||
			android:text="@string/main_layout_download"
 | 
			
		||||
			android:gravity="center_vertical"
 | 
			
		||||
			android:fontFamily="sans-serif-light" />
 | 
			
		||||
	    <TextView
 | 
			
		||||
			android:id="@+id/trafficLabelUp"
 | 
			
		||||
			android:layout_width="wrap_content"
 | 
			
		||||
			android:layout_height="wrap_content"
 | 
			
		||||
			 android:layout_alignParentRight="true"
 | 
			
		||||
			android:text="@string/main_layout_upload"
 | 
			
		||||
			android:textSize="15sp"
 | 
			
		||||
			android:gravity="center_vertical"
 | 
			
		||||
			android:fontFamily="sans-serif-light" />
 | 
			
		||||
		
 | 
			
		||||
		</RelativeLayout>
 | 
			
		||||
		 <RelativeLayout 
 | 
			
		||||
		     android:id="@+id/rowTrafficUp"
 | 
			
		||||
		     android:layout_width="fill_parent"
 | 
			
		||||
		      android:layout_height="wrap_content"
 | 
			
		||||
		     	  android:paddingLeft="3sp"
 | 
			
		||||
		       android:paddingRight="3sp"
 | 
			
		||||
		       android:paddingBottom="3sp"
 | 
			
		||||
		     
 | 
			
		||||
		      >
 | 
			
		||||
		<TextView
 | 
			
		||||
			android:id="@+id/trafficDown"
 | 
			
		||||
			android:layout_width="wrap_content"
 | 
			
		||||
			android:layout_height="wrap_content"
 | 
			
		||||
			 android:layout_alignParentLeft="true"
 | 
			
		||||
			android:textSize="15sp"
 | 
			
		||||
			android:gravity="center_vertical"
 | 
			
		||||
			android:fontFamily="sans-serif-light"
 | 
			
		||||
			 />
 | 
			
		||||
		
 | 
			
		||||
		<TextView
 | 
			
		||||
			android:id="@+id/trafficUp"
 | 
			
		||||
			android:layout_width="wrap_content"
 | 
			
		||||
			android:layout_height="wrap_content"
 | 
			
		||||
			 android:layout_alignParentRight="true"
 | 
			
		||||
			android:textSize="15sp"
 | 
			
		||||
			android:gravity="center_vertical"
 | 
			
		||||
			android:fontFamily="sans-serif-light"
 | 
			
		||||
			 />
 | 
			
		||||
		</RelativeLayout>
 | 
			
		||||
		    </LinearLayout>
 | 
			
		||||
		 
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
       <ProgressBar
 | 
			
		||||
   android:id="@+id/pbConnecting"
 | 
			
		||||
| 
						 | 
				
			
			@ -138,10 +53,9 @@ android:layout_gravity="center_horizontal|center_vertical"/>
 | 
			
		|||
		       <org.torproject.android.ui.ImageProgressView
 | 
			
		||||
				android:id="@+id/imgStatus"
 | 
			
		||||
				android:layout_width="match_parent"
 | 
			
		||||
				android:layout_height="0dp"		
 | 
			
		||||
						android:layout_weight=".8"
 | 
			
		||||
				
 | 
			
		||||
				android:padding="0dp"
 | 
			
		||||
				android:layout_height="275dp"
 | 
			
		||||
 | 
			
		||||
				   android:padding="0dp"
 | 
			
		||||
				android:layout_margin="0dp"
 | 
			
		||||
				android:src="@drawable/toroff" />
 | 
			
		||||
		       
 | 
			
		||||
| 
						 | 
				
			
			@ -154,20 +68,20 @@ android:layout_gravity="center_horizontal|center_vertical"/>
 | 
			
		|||
					android:fontFamily="sans-serif-light"
 | 
			
		||||
					android:text=""
 | 
			
		||||
					android:lines="2"
 | 
			
		||||
					android:maxLines="2"				
 | 
			
		||||
					android:maxLines="2"
 | 
			
		||||
					android:layout_gravity="center_horizontal"
 | 
			
		||||
					android:layout_margin="0dp"
 | 
			
		||||
					android:layout_marginLeft="5dp"			
 | 
			
		||||
					android:layout_marginLeft="5dp"
 | 
			
		||||
					android:layout_marginRight="5dp"
 | 
			
		||||
					 />
 | 
			
		||||
		
 | 
			
		||||
		<LinearLayout android:gravity="center_horizontal"
 | 
			
		||||
	     android:orientation="horizontal" android:layout_width="match_parent"
 | 
			
		||||
	      android:layout_height="wrap_content"
 | 
			
		||||
	      
 | 
			
		||||
			android:layout_gravity="bottom"
 | 
			
		||||
 | 
			
		||||
	      >
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
			<!--
 | 
			
		||||
			<Button
 | 
			
		||||
			    android:id="@+id/btnBrowser"
 | 
			
		||||
			    android:layout_width="wrap_content"
 | 
			
		||||
| 
						 | 
				
			
			@ -177,44 +91,129 @@ android:layout_gravity="center_horizontal|center_vertical"/>
 | 
			
		|||
          		android:layout_marginBottom="3dp"
 | 
			
		||||
          		 android:ellipsize="end"
 | 
			
		||||
          android:singleLine="true"
 | 
			
		||||
			     />
 | 
			
		||||
			     />-->
 | 
			
		||||
	
 | 
			
		||||
			
 | 
			
		||||
			<ToggleButton
 | 
			
		||||
			<android.support.v7.widget.SwitchCompat
 | 
			
		||||
			    android:id="@+id/btnVPN"
 | 
			
		||||
			    android:layout_width="wrap_content"
 | 
			
		||||
			    android:layout_width="100dp"
 | 
			
		||||
			    android:layout_height="wrap_content"
 | 
			
		||||
			    android:textOff="@string/menu_vpn"
 | 
			
		||||
			    android:textOn="@string/menu_vpn"	
 | 
			
		||||
			    android:text="@string/menu_vpn"
 | 
			
		||||
          android:layout_margin="3dp"
 | 
			
		||||
          android:ellipsize="end"
 | 
			
		||||
          android:singleLine="true"
 | 
			
		||||
			    />
 | 
			
		||||
			
 | 
			
		||||
			
 | 
			
		||||
			<ToggleButton
 | 
			
		||||
			<android.support.v7.widget.SwitchCompat
 | 
			
		||||
			    android:id="@+id/btnBridges"
 | 
			
		||||
			    android:layout_width="wrap_content"
 | 
			
		||||
			    android:layout_width="100dp"
 | 
			
		||||
			    android:layout_height="wrap_content"
 | 
			
		||||
			    android:textOff="@string/bridges"
 | 
			
		||||
			    android:textOn="@string/bridges"	
 | 
			
		||||
			    android:text="@string/bridges"
 | 
			
		||||
          		    android:layout_marginTop="3dp"
 | 
			
		||||
                android:layout_marginLeft="25dp"
 | 
			
		||||
          		android:layout_marginBottom="3dp"
 | 
			
		||||
          		     android:ellipsize="end"
 | 
			
		||||
          android:singleLine="true"
 | 
			
		||||
			    />
 | 
			
		||||
 | 
			
		||||
			<Spinner
 | 
			
		||||
			    android:id="@+id/spinnerCountry"
 | 
			
		||||
			    android:layout_width="wrap_content"
 | 
			
		||||
			    android:layout_height="wrap_content"
 | 
			
		||||
			    android:layout_weight="1"
 | 
			
		||||
				/>
 | 
			
		||||
			 
 | 
			
		||||
 | 
			
		||||
		    </LinearLayout>
 | 
			
		||||
		     </LinearLayout>
 | 
			
		||||
	
 | 
			
		||||
	    </LinearLayout>
 | 
			
		||||
        <Spinner
 | 
			
		||||
            android:id="@+id/spinnerCountry"
 | 
			
		||||
            android:layout_width="200dp"
 | 
			
		||||
            android:layout_height="wrap_content"
 | 
			
		||||
            android:layout_weight="1"
 | 
			
		||||
            />
 | 
			
		||||
 | 
			
		||||
    </LinearLayout>
 | 
			
		||||
 | 
			
		||||
    <LinearLayout
 | 
			
		||||
        android:layout_width="match_parent"
 | 
			
		||||
        android:layout_height="match_parent"
 | 
			
		||||
        android:orientation="vertical"
 | 
			
		||||
        android:gravity="bottom"
 | 
			
		||||
        android:padding="6dp"
 | 
			
		||||
        >
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        <!--
 | 
			
		||||
        <TextView android:id="@+id/lblStatus"
 | 
			
		||||
            android:text="status status status"
 | 
			
		||||
            android:gravity="center_horizontal"
 | 
			
		||||
            android:textSize="20sp"
 | 
			
		||||
            android:layout_width="match_parent"
 | 
			
		||||
            android:layout_height="wrap_content"
 | 
			
		||||
            android:layout_marginBottom="10dp"
 | 
			
		||||
            android:layout_marginTop="10dp"
 | 
			
		||||
            android:layout_marginLeft="40dp"
 | 
			
		||||
            android:layout_marginRight="40dp"
 | 
			
		||||
            android:textColor="#ffffff"
 | 
			
		||||
            android:maxLines="1"
 | 
			
		||||
            android:fontFamily="sans-serif-light"
 | 
			
		||||
             />
 | 
			
		||||
                 -->
 | 
			
		||||
 | 
			
		||||
        <RelativeLayout
 | 
			
		||||
            android:id="@+id/rowTrafficDown"
 | 
			
		||||
            android:layout_width="match_parent"
 | 
			
		||||
            android:layout_height="wrap_content"
 | 
			
		||||
            android:orientation="horizontal"
 | 
			
		||||
            android:paddingLeft="3sp"
 | 
			
		||||
            android:paddingRight="3sp"
 | 
			
		||||
 | 
			
		||||
            >
 | 
			
		||||
            <TextView
 | 
			
		||||
                android:id="@+id/trafficLabelDown"
 | 
			
		||||
                android:layout_width="wrap_content"
 | 
			
		||||
                android:layout_height="wrap_content"
 | 
			
		||||
                android:layout_alignParentLeft="true"
 | 
			
		||||
                android:textSize="15sp"
 | 
			
		||||
                android:text="@string/main_layout_download"
 | 
			
		||||
                android:gravity="center_vertical"
 | 
			
		||||
                android:fontFamily="sans-serif-light" />
 | 
			
		||||
            <TextView
 | 
			
		||||
                android:id="@+id/trafficLabelUp"
 | 
			
		||||
                android:layout_width="wrap_content"
 | 
			
		||||
                android:layout_height="wrap_content"
 | 
			
		||||
                android:layout_alignParentRight="true"
 | 
			
		||||
                android:text="@string/main_layout_upload"
 | 
			
		||||
                android:textSize="15sp"
 | 
			
		||||
                android:gravity="center_vertical"
 | 
			
		||||
                android:fontFamily="sans-serif-light" />
 | 
			
		||||
 | 
			
		||||
        </RelativeLayout>
 | 
			
		||||
        <RelativeLayout
 | 
			
		||||
            android:id="@+id/rowTrafficUp"
 | 
			
		||||
            android:layout_width="fill_parent"
 | 
			
		||||
            android:layout_height="wrap_content"
 | 
			
		||||
            android:paddingLeft="3sp"
 | 
			
		||||
            android:paddingRight="3sp"
 | 
			
		||||
            android:paddingBottom="3sp"
 | 
			
		||||
 | 
			
		||||
            >
 | 
			
		||||
            <TextView
 | 
			
		||||
                android:id="@+id/trafficDown"
 | 
			
		||||
                android:layout_width="wrap_content"
 | 
			
		||||
                android:layout_height="wrap_content"
 | 
			
		||||
                android:layout_alignParentLeft="true"
 | 
			
		||||
                android:textSize="15sp"
 | 
			
		||||
                android:gravity="center_vertical"
 | 
			
		||||
                android:fontFamily="sans-serif-light"
 | 
			
		||||
                />
 | 
			
		||||
 | 
			
		||||
            <TextView
 | 
			
		||||
                android:id="@+id/trafficUp"
 | 
			
		||||
                android:layout_width="wrap_content"
 | 
			
		||||
                android:layout_height="wrap_content"
 | 
			
		||||
                android:layout_alignParentRight="true"
 | 
			
		||||
                android:textSize="15sp"
 | 
			
		||||
                android:gravity="center_vertical"
 | 
			
		||||
                android:fontFamily="sans-serif-light"
 | 
			
		||||
                />
 | 
			
		||||
        </RelativeLayout>
 | 
			
		||||
    </LinearLayout>
 | 
			
		||||
	    </LinearLayout>
 | 
			
		||||
	    
 | 
			
		||||
	 <LinearLayout
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -314,7 +314,7 @@ assets: tor polipo iptables pluto
 | 
			
		|||
	-zip ../orbotservice/src/main/assets/$(APP_ABI)/xtables.mp3 bin/xtables
 | 
			
		||||
	-$(STRIP) bin/obfs4proxy
 | 
			
		||||
	-zip ../orbotservice/src/main/assets/$(APP_ABI)/obfs4proxy.mp3 bin/obfs4proxy
 | 
			
		||||
	-$(STRIP) ../app/src/main/libs/$(APP_ABI)/pdnsd
 | 
			
		||||
	-$(STRIP) ../orbotservice/src/main/libs/$(APP_ABI)/pdnsd
 | 
			
		||||
	-zip ../orbotservice/src/main/assets/$(APP_ABI)/pdnsd.mp3 ../orbotservice/src/main/libs/$(APP_ABI)/pdnsd
 | 
			
		||||
	-rm ../orbotservice/src/main/libs/$(APP_ABI)/pdnsd
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -121,7 +121,6 @@ public class TorService extends Service implements TorServiceConstants, OrbotCon
 | 
			
		|||
    public static File fileObfsclient;
 | 
			
		||||
    public static File fileXtables;
 | 
			
		||||
    public static File fileTorRc;
 | 
			
		||||
    public static File filePdnsd;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    public void debug(String msg)
 | 
			
		||||
| 
						 | 
				
			
			@ -227,8 +226,11 @@ public class TorService extends Service implements TorServiceConstants, OrbotCon
 | 
			
		|||
        }
 | 
			
		||||
        
 | 
			
		||||
        mNotifyBuilder.setOngoing(Prefs.persistNotifications());
 | 
			
		||||
        
 | 
			
		||||
        mNotification = mNotifyBuilder.build();
 | 
			
		||||
        mNotifyBuilder.setPriority(Notification.PRIORITY_LOW);
 | 
			
		||||
         mNotifyBuilder.setCategory(Notification.CATEGORY_SERVICE);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
         mNotification = mNotifyBuilder.build();
 | 
			
		||||
        
 | 
			
		||||
        if (Build.VERSION.SDK_INT >= 16 && Prefs.expandedNotifications()) {
 | 
			
		||||
            // Create remote view that needs to be set as bigContentView for the notification.
 | 
			
		||||
| 
						 | 
				
			
			@ -531,7 +533,6 @@ public class TorService extends Service implements TorServiceConstants, OrbotCon
 | 
			
		|||
            fileObfsclient = new File(appBinHome, TorServiceConstants.OBFSCLIENT_ASSET_KEY);
 | 
			
		||||
            fileXtables = new File(appBinHome, TorServiceConstants.IPTABLES_ASSET_KEY);
 | 
			
		||||
            fileTorRc = new File(appBinHome, TorServiceConstants.TORRC_ASSET_KEY);
 | 
			
		||||
            filePdnsd = new File(appBinHome, TorServiceConstants.PDNSD_ASSET_KEY);
 | 
			
		||||
 | 
			
		||||
            mEventHandler = new TorEventHandler(this);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -726,7 +727,7 @@ public class TorService extends Service implements TorServiceConstants, OrbotCon
 | 
			
		|||
            // these states should probably be handled better
 | 
			
		||||
            sendCallbackLogMessage("Ignoring start request, currently " + mCurrentStatus);
 | 
			
		||||
            return;
 | 
			
		||||
        } else if (mCurrentStatus == STATUS_ON && findExistingTorDaemon()) {
 | 
			
		||||
        } else if (mCurrentStatus == STATUS_ON) {
 | 
			
		||||
        
 | 
			
		||||
            sendCallbackLogMessage("Ignoring start request, already started.");
 | 
			
		||||
            
 | 
			
		||||
| 
						 | 
				
			
			@ -1444,7 +1445,7 @@ public class TorService extends Service implements TorServiceConstants, OrbotCon
 | 
			
		|||
        @Override
 | 
			
		||||
        public void onReceive(Context context, Intent intent) {
 | 
			
		||||
 | 
			
		||||
        	if (mCurrentStatus != STATUS_ON)
 | 
			
		||||
        	if (mCurrentStatus == STATUS_OFF)
 | 
			
		||||
        		return;
 | 
			
		||||
        	
 | 
			
		||||
            SharedPreferences prefs = TorServiceUtils.getSharedPrefs(getApplicationContext());
 | 
			
		||||
| 
						 | 
				
			
			@ -1484,39 +1485,36 @@ public class TorService extends Service implements TorServiceConstants, OrbotCon
 | 
			
		|||
                {
 | 
			
		||||
                    logNotice(context.getString(R.string.no_network_connectivity_putting_tor_to_sleep_));
 | 
			
		||||
                    showToolbarNotification(getString(R.string.no_internet_connection_tor),NOTIFY_ID,R.drawable.ic_stat_tor_off);
 | 
			
		||||
                    
 | 
			
		||||
 | 
			
		||||
                }
 | 
			
		||||
                else
 | 
			
		||||
                {
 | 
			
		||||
                    logNotice(context.getString(R.string.network_connectivity_is_good_waking_tor_up_));
 | 
			
		||||
                    showToolbarNotification(getString(R.string.status_activated),NOTIFY_ID,R.drawable.ic_stat_tor);
 | 
			
		||||
                }
 | 
			
		||||
	            
 | 
			
		||||
	            //is this a change in state?
 | 
			
		||||
	            if (isChanged)
 | 
			
		||||
	            {
 | 
			
		||||
	                try {
 | 
			
		||||
	                    
 | 
			
		||||
	                    if (mCurrentStatus != STATUS_OFF)
 | 
			
		||||
	                    {
 | 
			
		||||
	                        if (mConnectivity)
 | 
			
		||||
	                        {
 | 
			
		||||
	                            if (Prefs.useRoot() && Prefs.useTransparentProxying() && Prefs.transProxyNetworkRefresh())
 | 
			
		||||
	                            {
 | 
			
		||||
	                                
 | 
			
		||||
 | 
			
		||||
	                                disableTransparentProxy();
 | 
			
		||||
	                                enableTransparentProxy();
 | 
			
		||||
                try {
 | 
			
		||||
 | 
			
		||||
	                            }
 | 
			
		||||
	                        }
 | 
			
		||||
	                    }
 | 
			
		||||
	                    
 | 
			
		||||
	                } catch (Exception e) {
 | 
			
		||||
	                    logException ("error updating state after network restart",e);
 | 
			
		||||
	                }
 | 
			
		||||
                    if (mCurrentStatus != STATUS_OFF)
 | 
			
		||||
                    {
 | 
			
		||||
                        if (mConnectivity)
 | 
			
		||||
                        {
 | 
			
		||||
                            if (Prefs.useRoot() && Prefs.useTransparentProxying() && Prefs.transProxyNetworkRefresh())
 | 
			
		||||
                            {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                                disableTransparentProxy();
 | 
			
		||||
                                enableTransparentProxy();
 | 
			
		||||
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                } catch (Exception e) {
 | 
			
		||||
                    logException ("error updating state after network restart",e);
 | 
			
		||||
                }
 | 
			
		||||
		            
 | 
			
		||||
	            }
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -133,9 +133,8 @@ public interface TorServiceConstants {
 | 
			
		|||
    public static final String CMD_UPDATE_TRANS_PROXY = "update";
 | 
			
		||||
    public static final String CMD_SET_EXIT = "setexit";
 | 
			
		||||
    
 | 
			
		||||
    
 | 
			
		||||
    
 | 
			
		||||
    public static final String BINARY_TOR_VERSION = "0.2.7.5-020120160125";
 | 
			
		||||
 | 
			
		||||
    public static final String BINARY_TOR_VERSION = "0.2.8.1-1";
 | 
			
		||||
    public static final String PREF_BINARY_TOR_VERSION_INSTALLED = "BINARY_TOR_VERSION_INSTALLED";
 | 
			
		||||
    
 | 
			
		||||
    //obfsproxy 
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -86,7 +86,9 @@ public class OrbotVpnManager implements Handler.Callback {
 | 
			
		|||
    public OrbotVpnManager (VpnService service)
 | 
			
		||||
    {
 | 
			
		||||
    	mService = service;
 | 
			
		||||
		filePdnsd = mService.getDir(TorServiceConstants.DIRECTORY_TOR_BINARY, Application.MODE_PRIVATE);
 | 
			
		||||
 | 
			
		||||
		File fileBinHome = mService.getDir(TorServiceConstants.DIRECTORY_TOR_BINARY, Application.MODE_PRIVATE);
 | 
			
		||||
		filePdnsd = new File(fileBinHome,TorServiceConstants.PDNSD_ASSET_KEY);
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
   
 | 
			
		||||
| 
						 | 
				
			
			@ -428,8 +430,19 @@ public class OrbotVpnManager implements Handler.Callback {
 | 
			
		|||
    	ps.close();
 | 
			
		||||
    	
 | 
			
		||||
        //f.withWriter { out -> out.print conf };
 | 
			
		||||
        
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
        /**
 | 
			
		||||
		 *
 | 
			
		||||
 | 
			
		||||
		 server {
 | 
			
		||||
		 label= "upstream";
 | 
			
		||||
		 ip = %s;
 | 
			
		||||
		 port = %d;
 | 
			
		||||
		 uptest = none;
 | 
			
		||||
		 }
 | 
			
		||||
		 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        File cache = new File(fileDir,"pdnsd.cache");
 | 
			
		||||
 | 
			
		||||
        if (!cache.exists()) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,4 @@
 | 
			
		|||
#APP_ABI      			:= armeabi x86
 | 
			
		||||
APP_ABI      			:= armeabi
 | 
			
		||||
APP_PLATFORM 			:= android-14
 | 
			
		||||
APP_PLATFORM 			:= android-16
 | 
			
		||||
APP_STL      			:= stlport_static
 | 
			
		||||
NDK_TOOLCHAIN_VERSION 	:= 4.8
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<resources>
 | 
			
		||||
	<string name="pdnsd_conf" formatted="false">
 | 
			
		||||
	<string name="pdnsd_conf" formatted="true">
 | 
			
		||||
global {
 | 
			
		||||
	perm_cache=0;
 | 
			
		||||
	cache_dir="/data/data/org.torproject.android/app_bin";
 | 
			
		||||
| 
						 | 
				
			
			@ -17,8 +17,8 @@ global {
 | 
			
		|||
 | 
			
		||||
server {
 | 
			
		||||
	label= "upstream";
 | 
			
		||||
	ip = %s;
 | 
			
		||||
	port = %d;
 | 
			
		||||
	ip = %1$s;
 | 
			
		||||
	port = %2$d;
 | 
			
		||||
	uptest = none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue