How can I fix (The left-hand side of an assignment must be a variable) and (Type mismatch: cannot convert from Object to String) in this code?

StackOverflow https://stackoverflow.com/questions/23342372

  •  11-07-2023
  •  | 
  •  

Question

I have this code for compressing pictures , I have two error , I have separated these errors with line in code like this (...........) first is : The left-hand side of an assignment must be a variable .......... and the second is Type mismatch: cannot convert from Object to String ................. how can I fix them ???

package com.example.resizingimages;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.ContentResolver;
import android.content.ContentUris;
import android.content.ContentValues;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.content.res.Resources;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.Bitmap.Config;
import android.graphics.BitmapFactory;
import android.graphics.BitmapFactory.Options;
import android.graphics.Matrix;
import android.media.ExifInterface;
import android.media.MediaScannerConnection;
import android.media.MediaScannerConnection.MediaScannerConnectionClient;
import android.media.MediaScannerConnection.OnScanCompletedListener;
import android.net.Uri;
import android.os.Build;
import android.os.Build.VERSION;
import android.os.Bundle;
import android.os.Environment;
import android.provider.DocumentsContract;
import android.provider.MediaStore;
import android.provider.MediaStore.Audio.Media;
import android.provider.MediaStore.Images.Media;
import android.provider.MediaStore.Video.Media;
import android.util.Log;
import android.view.Display;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.view.WindowManager;
import android.widget.AbsoluteLayout;
import android.widget.AbsoluteLayout.LayoutParams;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import java.io.File;
import java.io.InputStream;
import java.io.PrintStream;

public class GetImageActivity extends Activity
  implements MediaScannerConnection.MediaScannerConnectionClient, DialogInterface
{
  private static final int CAMERA_REQUEST = 1800;
  private static final int GALLERY_KITKAT_INTENT_CALLED = 1500;
  private static final int SELECT_PICTURE = 1;
  static String filePath;
  private TextView Name;
  private TextView Size;
  MediaScannerConnection conn;
  File file;
  private String filename;
  private int height;
  Uri imageUri;
  private ImageView img;
  private Uri outputFileUri;
  Uri outputFileUri1;
  String path1;
  private String path2;
  private Bitmap picture;
  private File root;
  File sdImageMainDirectory;
  private Uri selectedImageUri;
  private int width;

  private void cameraaa(String paramString, Uri paramUri)
  {
    while (true)
    {
      try
      {
        InputStream localInputStream = getContentResolver().openInputStream(paramUri);
        BitmapFactory.Options localOptions = new BitmapFactory.Options();
        localOptions.inSampleSize = 2;
        localOptions.inPurgeable = true;
        byte[] arrayOfByte = new byte[1024];
        localOptions.inPreferredConfig = Bitmap.Config.RGB_565;
        localOptions.inTempStorage = arrayOfByte;
        this.picture = BitmapFactory.decodeStream(localInputStream, null, localOptions);
        switch (new ExifInterface(paramString).getAttributeInt("Orientation", 1))
        {
        case 4:
        case 5:
        default:
          this.img.setImageBitmap(this.picture);
          String str = sizee(paramUri);
          Toast.makeText(getApplicationContext(), "Size of Image " + str, 0).show();
          System.out.println("Image Path : " + paramString);
          return;
        case 6:
          rotateImage(this.picture, 90);
          continue;
        case 3:
        }
      }
      catch (Exception localException)
      {
        Toast.makeText(getApplicationContext(), "Error " + localException.getMessage(), 0).show();
        return;
      }
      rotateImage(this.picture, 180);
    }
  }

  public static String getDataColumn(Context paramContext, Uri paramUri, String paramString, String[] paramArrayOfString)
  {
    Cursor localCursor = null;
    String[] arrayOfString = { "_data" };
    try
    {
      localCursor = paramContext.getContentResolver().query(paramUri, arrayOfString, paramString, paramArrayOfString, null);
      if ((localCursor != null) && (localCursor.moveToFirst()))
      {
        String str = localCursor.getString(localCursor.getColumnIndexOrThrow("_data"));
        return str;
      }
    }
    finally
    {
      if (localCursor != null)
        localCursor.close();
    }
    if (localCursor != null)
      localCursor.close();
    return null;
  }

  public static String getPathl(Context paramContext, Uri paramUri)
  {
    int i;
    if (Build.VERSION.SDK_INT >= 19)
      i = 1;
    while ((i != 0) && (DocumentsContract.isDocumentUri(paramContext, paramUri)))
      if (isExternalStorageDocument(paramUri))
      {
        String[] arrayOfString3 = DocumentsContract.getDocumentId(paramUri).split(":");
        if (!"primary".equalsIgnoreCase(arrayOfString3[0]))
          break label271;
        return Environment.getExternalStorageDirectory() + "/" + arrayOfString3[1];
        i = 0;
      }
      else
      {
        if (isDownloadsDocument(paramUri))
        {
          String str2 = DocumentsContract.getDocumentId(paramUri);
          return getDataColumn(paramContext, ContentUris.withAppendedId(Uri.parse("content://downloads/public_downloads"), Long.valueOf(str2).longValue()), null, null);
        }
        if (!isMediaDocument(paramUri))
          break label271;
        String[] arrayOfString1 = DocumentsContract.getDocumentId(paramUri).split(":");
        String str1 = arrayOfString1[0];
        Uri localUri;
        if ("image".equals(str1))
          localUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
        while (true)
        {
          String[] arrayOfString2 = new String[1];
          arrayOfString2[0] = arrayOfString1[1];
          return getDataColumn(paramContext, localUri, "_id=?", arrayOfString2);
          if ("video".equals(str1))
          {
            localUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
          }
          else
          {
            boolean bool = "audio".equals(str1);
            localUri = null;
            if (bool)
              localUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
          }
        }
      }
    if ("content".equalsIgnoreCase(paramUri.getScheme()))
      return getDataColumn(paramContext, paramUri, null, null);
    if ("file".equalsIgnoreCase(paramUri.getScheme()))
      return paramUri.getPath();
    label271: return filePath;
  }

  public static boolean isDownloadsDocument(Uri paramUri)
  {
    return "com.android.providers.downloads.documents".equals(paramUri.getAuthority());
  }

  public static boolean isExternalStorageDocument(Uri paramUri)
  {
    return "com.android.externalstorage.documents".equals(paramUri.getAuthority());
  }

  public static boolean isMediaDocument(Uri paramUri)
  {
    return "com.android.providers.media.documents".equals(paramUri.getAuthority());
  }

  private void openAddPhoto()
  {
    String[] arrayOfString = { "Camera", "Gallery" };
    AlertDialog.Builder localBuilder = new AlertDialog.Builder(this);
    localBuilder.setTitle(getResources().getString(2130968578));
    localBuilder.setItems(arrayOfString, new DialogInterface.OnClickListener()
    {
      public void onClick(DialogInterface paramAnonymousDialogInterface, int paramAnonymousInt)
      {
        if (paramAnonymousInt == 0)
        {
          ContentValues localContentValues = new ContentValues();
          localContentValues.put("title", "new-photo-name.jpg");
          localContentValues.put("description", "Image capture by camera");
          GetImageActivity.this.imageUri = GetImageActivity.this.getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, localContentValues);
          Intent localIntent1 = new Intent("android.media.action.IMAGE_CAPTURE");
          localIntent1.putExtra("output", GetImageActivity.this.imageUri);
          GetImageActivity.this.startActivityForResult(localIntent1, 1800);
        }
        if (paramAnonymousInt == 1)
        {
          if (Build.VERSION.SDK_INT < 19)
          {
            Intent localIntent2 = new Intent();
            localIntent2.setType("image/*");
            localIntent2.setAction("android.intent.action.GET_CONTENT");
            GetImageActivity.this.startActivityForResult(Intent.createChooser(localIntent2, "Select Picture"), 1);
          }
        }
        else
          return;
        Intent localIntent3 = new Intent("android.intent.action.PICK", MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
        GetImageActivity.this.startActivityForResult(Intent.createChooser(localIntent3, "Select Picture"), 1500);
      }
    });
    localBuilder.setNeutralButton("cancel", new DialogInterface.OnClickListener()
    {
      public void onClick(DialogInterface paramAnonymousDialogInterface, int paramAnonymousInt)
      {
        paramAnonymousDialogInterface.dismiss();
      }
    });
    localBuilder.show();
  }

  private void startScan()
  {
    if (this.conn != null)
      this.conn.disconnect();
    this.conn = new MediaScannerConnection(this, this);
    this.conn.connect();
  }

  public void cancel()
  {
  }

  public void dismiss()
  {
  }

  public String getPath(Uri paramUri)
  {
    Cursor localCursor = managedQuery(paramUri, new String[] { "_data" }, null, null, null);
    String str = null;
    if (localCursor != null)
    {
      int i = localCursor.getColumnIndexOrThrow("_data");
      localCursor.moveToFirst();
      str = localCursor.getString(i);
    }
    return str;
  }

  public String name(String paramString)
  {
    int i = 0;
    for (int j = 0; ; j++)
    {
      if (j >= paramString.length())
      {
        this.filename = filePath.substring(i + 1, paramString.length());
        return this.filename;
      }
      if (paramString.charAt(j) == '/')
        i = j;
    }
  }

  public void onActivityResult(int paramInt1, int paramInt2, Intent paramIntent)
  {
    if (paramInt2 == -1)
    {
      if (paramInt1 == 1)
        while (true)
        {
          try
          {
            this.selectedImageUri = paramIntent.getData();
            Toast.makeText(getApplicationContext(), "DATA " + filePath, 0).show();
            filePath = getPath(this.selectedImageUri);
            InputStream localInputStream2 = getContentResolver().openInputStream(this.selectedImageUri);
            BitmapFactory.Options localOptions2 = new BitmapFactory.Options();
            localOptions2.inSampleSize = 2;
            localOptions2.inPurgeable = true;
            byte[] arrayOfByte2 = new byte[1024];
            localOptions2.inPreferredConfig = Bitmap.Config.RGB_565;
            localOptions2.inTempStorage = arrayOfByte2;
            this.picture = BitmapFactory.decodeStream(localInputStream2, null, localOptions2);
            switch (new ExifInterface(filePath).getAttributeInt("Orientation", 1))
            {
            case 4:
            case 5:
            default:
              this.img.setImageBitmap(this.picture);
              String str4 = sizee(this.selectedImageUri);
              Toast.makeText(getApplicationContext(), "Size of Image " + str4, 0).show();
              return;
            case 6:
              rotateImage(this.picture, 90);
              continue;
            case 3:
            }
          }
          catch (Exception localException3)
          {
            Toast.makeText(getApplicationContext(), "Error " + localException3.getMessage(), 0).show();
            return;
          }
          rotateImage(this.picture, 180);
        }
      if (paramInt1 == 1500)
        while (true)
        {
          try
          {
            this.selectedImageUri = paramIntent.getData();
            getPathl(getApplicationContext(), this.selectedImageUri);
            getContentResolver();
            filePath = getPathl(getApplicationContext(), this.selectedImageUri);
            InputStream localInputStream1 = getContentResolver().openInputStream(this.selectedImageUri);
            BitmapFactory.Options localOptions1 = new BitmapFactory.Options();
            localOptions1.inSampleSize = 2;
            localOptions1.inPurgeable = true;
            byte[] arrayOfByte1 = new byte[1024];
            localOptions1.inPreferredConfig = Bitmap.Config.RGB_565;
            localOptions1.inTempStorage = arrayOfByte1;
            this.picture = BitmapFactory.decodeStream(localInputStream1, null, localOptions1);
            switch (new ExifInterface(filePath).getAttributeInt("Orientation", 1))
            {
            case 4:
            case 5:
            default:
              this.img.setImageBitmap(this.picture);
              String str3 = sizee(this.selectedImageUri);
              Toast.makeText(getApplicationContext(), "Size of Image " + str3, 0).show();
              return;
            case 6:
            case 3:
            }
          }
          catch (Exception localException2)
          {
            Toast.makeText(getApplicationContext(), "Error " + localException2.getMessage(), 0).show();
            return;
          }
          rotateImage(this.picture, 90);
          continue;
          rotateImage(this.picture, 180);
        }
      if (paramInt1 == 1800)
      {
        filePath = null;
        this.selectedImageUri = this.imageUri;
        if (this.selectedImageUri != null)
          while (true)
          {
            String str1;
            try
            {
              str1 = this.selectedImageUri.getPath();
              String str2 = getPath(this.selectedImageUri);
              if (str2 != null)
              {
                filePath = str2;
                if (filePath == null)
                  break;
                Toast.makeText(getApplicationContext(), " path" + filePath, 1).show();
                new Intent(getApplicationContext(), GetImageActivity.class);
                cameraaa(filePath, this.selectedImageUri);
                return;
              }
            }
            catch (Exception localException1)
            {
              Toast.makeText(getApplicationContext(), "Internal error", 1).show();
              Log.e(localException1.getClass().getName(), localException1.getMessage(), localException1);
              return;
            }
            if (str1 != null)
            {
              filePath = str1;
            }
            else
            {
              Toast.makeText(getApplicationContext(), "Unknown path", 1).show();
              Log.e("Bitmap", "Unknown path");
            }
          }
      }
    }
  }

  public void onCreate(Bundle paramBundle)
  {
    super.onCreate(paramBundle);
    requestWindowFeature(1);
    getWindow().setFlags(1024, 1024);
    setContentView(2130903040);
    Display localDisplay = getWindowManager().getDefaultDisplay();
    this.width = localDisplay.getWidth();
    this.height = localDisplay.getHeight();
    final Button localButton = (Button)findViewById(2131296257);
    final Spinner localSpinner = (Spinner)findViewById(2131296260);
    final TextView localTextView = (TextView)findViewById(2131296259);
    localButton.setVisibility(4);
    localSpinner.setVisibility(4);
    localTextView.setVisibility(4);
    if (this.height <= 480)
    {
      localSpinner.setLayoutParams(new AbsoluteLayout.LayoutParams(-1, -2, 0, 20 + (this.height - this.height / 3)));
      localTextView.setLayoutParams(new AbsoluteLayout.LayoutParams(this.width, 60, 0, -20 + (this.height - this.height / 3)));
      localTextView.setText("Image Quality");
      localTextView.setText("Image Quality");
      this.img = ((ImageView)findViewById(2131296258));
      this.img.setBackgroundResource(2130837504);
    //first error is here      
.......................................................................................
***(-160 + this.height);***

      (-160 + this.height);
      ((int)(0.8D * this.width));
      AbsoluteLayout.LayoutParams localLayoutParams1 = new AbsoluteLayout.LayoutParams((int)(0.8D * this.width), (int)(0.5D * this.height), (int)(this.width - 0.9D * this.width), (int)(this.height - 0.9D * this.height));
      this.img.setLayoutParams(localLayoutParams1);
      ImageView localImageView = this.img;
      View.OnClickListener local1 = new View.OnClickListener()
      {
        public void onClick(View paramAnonymousView)
        {
          GetImageActivity.this.img.setImageDrawable(null);
          GetImageActivity.this.img.setBackgroundResource(2130837504);
          localButton.setVisibility(0);
          localSpinner.setVisibility(0);
          localTextView.setVisibility(0);
          GetImageActivity.this.openAddPhoto();
        }
      };
      localImageView.setOnClickListener(local1);
      if (this.height > 480)
        break label505;
      localButton.setBackgroundResource(2130837507);
      (-160 + this.height);
    }
    for (AbsoluteLayout.LayoutParams localLayoutParams2 = new AbsoluteLayout.LayoutParams(50, 50, -25 + this.width / 2, -51 + this.height); ; localLayoutParams2 = new AbsoluteLayout.LayoutParams(170, 170, -85 + this.width / 2, -170 + this.height))
    {
      localButton.setLayoutParams(localLayoutParams2);
      View.OnClickListener local2 = new View.OnClickListener()
      {

        public void onClick(View paramAnonymousView)
        {

        }
      };
      localButton.setOnClickListener(local2);
      return;
      localSpinner.setLayoutParams(new AbsoluteLayout.LayoutParams(-1, -2, 0, 30 + (this.height - this.height / 3)));
      localTextView.setLayoutParams(new AbsoluteLayout.LayoutParams(this.width, 60, 0, -10 + (this.height - this.height / 3)));
      break;
      label505: localButton.setBackgroundResource(2130837506);
      (-160 + this.height);
    }
  }

  public boolean onCreateOptionsMenu(Menu paramMenu)
  {
    getMenuInflater().inflate(2131230720, paramMenu);
    return true;
  }

  public void onMediaScannerConnected()
  {
    try
    {
      this.conn.scanFile(filePath, "image/*");
      return;
    }
    catch (IllegalStateException localIllegalStateException)
    {
    }
  }

  public boolean onOptionsItemSelected(MenuItem paramMenuItem)
  {
    if (paramMenuItem.getItemId() == 2131296262)
      shareagain();
    while (true)
    {
      return true;
      if (paramMenuItem.getItemId() == 2131296263)
        try
        {
          startActivity(new Intent(this, readddme.class));
        }
        catch (Exception localException)
        {
          Toast.makeText(getApplicationContext(), "Error " + localException.getMessage(), 0).show();
        }
      else if (paramMenuItem.getItemId() == 2131296264)
        System.exit(0);
    }
  }

  public void onScanCompleted(String paramString, Uri paramUri)
  {
    this.conn.disconnect();
  }

  public void rotateImage(Bitmap paramBitmap, int paramInt)
  {
    Matrix localMatrix = new Matrix();
    localMatrix.setRotate(paramInt);
    this.picture = Bitmap.createBitmap(paramBitmap, 0, 0, paramBitmap.getWidth(), paramBitmap.getHeight(), localMatrix, true);
  }

  public void share()
  {
    Intent localIntent = new Intent("android.intent.action.SEND");
    localIntent.setType("text/plain");
    localIntent.putExtra("android.intent.extra.SUBJECT", "#RABIDO");
    localIntent.putExtra("android.intent.extra.TEXT", "#RABIDO");
    localIntent.setType("image/*");
    localIntent.putExtra("android.intent.extra.STREAM", this.selectedImageUri);
    startActivity(Intent.createChooser(localIntent, "Share Image"));
  }

  public void shareagain()
  {
    Intent localIntent = new Intent("android.intent.action.SEND");
    localIntent.setType("text/plain");
    localIntent.putExtra("android.intent.extra.TEXT", "Check out 'RABIDO' - https://play.google.com/store/apps/details?id=decrease.image.uploader");
    startActivity(Intent.createChooser(localIntent, "Share via"));
  }

  public String sizee(Uri paramUri)
  {
    Object localObject;
    try
    {
      InputStream localInputStream = getContentResolver().openInputStream(paramUri);
      byte[] arrayOfByte = new byte[1024];
      int i = 0;
      float f;
      while (true)
      {
        if (localInputStream.read(arrayOfByte) == -1)
        {
          f = i / 1000;
          if (f >= 1000.0F)
            break;
          localObject = " " + i / 1000 + " KB";
          break label164;
        }
        i += arrayOfByte.length;
      }
      String str = " " + f / 1000.0F + " MB";
      localObject = str;
    }
    catch (Exception localException)
    {
      Toast.makeText(getApplicationContext(), "Error 5 " + localException.getMessage(), 0).show();
      return "";
    }
//second is here 
..................................................................
    label164: return localObject;
  }
}
Was it helpful?

Solution

For the First error can you try something like this:

(this.height = this.height - 160);

The error indicates you are trying to make an assignment operation but you have not put a variable in the left hand side of the equation. there may also be a short hand way to do this such as:

(this.height =- 160);

for the second error is seems that you have declared "localObject" as an Object. can you just declare it as a String. seems that you are assigning a string to it and then wanting to return a string. See if that works.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top