The code below tested on LG G3 and it worked fine. However when I tested it on a Samsung Galaxy S3/S2 doInBackground() is not called for some reason.
Code to check api:
  public void startBlat(String tosearch) {
    AsynctaskMovie asynctaskMovie = new AsynctaskMovie();
    if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.HONEYCOMB) {
        asynctaskMovie.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR,tosearch);
    }
    else {
        asynctaskMovie.execute(tosearch);
    }
The Asynctask code:
class AsynctaskMovie extends AsyncTask<String, String, ArrayList<Movie>> {
    JSONParser jsonParser = new JSONParser();
    private static final String SEARCH_URL = "http://www.omdbapi.com/?";
    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        movieArrayList = new ArrayList();
        Log.i(getActivity().getCallingPackage(), "onPreExecute");
    }
    @Override
    protected ArrayList<Movie> doInBackground(String... args) {
        Log.i(getActivity().getCallingPackage(),"doInBackground");
        HashMap<String, String> params = new HashMap<>();
        params.put("s", args[0]);
        params.put("r", "json");
        JSONObject json = jsonParser.makeHttpRequest(SEARCH_URL, "GET", params);
        Log.i(getActivity().getCallingPackage(), json.toString());
        if (json != null) {
            try {
                if (json.getString("Response").equals("False")) {
                    return movieArrayList;
                }
            } catch (JSONException e) {
            }
            try {
                JSONArray jsonArray = json.getJSONArray("Search");
                for (int i = 0; i < jsonArray.length(); i++) {
                    JSONObject jsonObject = (JSONObject) jsonArray.get(i);
                    String movieid = jsonObject.getString(App.getInstance().IMDBimdbID);
                    if (!movieid.equals("null")) {
                        Movie movie = new Movie(movieid);
                        movieArrayList.add(movie);
                    }
                }
                jsonArray = new JSONArray();
                for (Movie movie : movieArrayList) {
                    params = new HashMap<>();
                    params.put("i", movie.getMovieid());
                    params.put("plot", "short");
                    params.put("r", "json");
                    JSONObject jsongetfullinfo = jsonParser.makeHttpRequest(SEARCH_URL, "GET", params);
                    if (jsongetfullinfo != null) {
                        jsonArray.put(jsongetfullinfo);
                        Log.i("", jsongetfullinfo.toString());
                    }
                }
                for (int i = 0; i < jsonArray.length(); i++) {
                    JSONObject jObject = jsonArray.getJSONObject(i);
                    movieArrayList.get(i).updateFromIMDB(jObject);
                }
                for (Movie movie : movieArrayList) {
                    movie.setMovieposter(LoadFromUrl(movie.getPosterURL()));
                }
                return movieArrayList;
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
        return movieArrayList;
    }
    @Override
    protected void onPostExecute(ArrayList<Movie> movieArrayList) {
        Log.i("ronen", "list size: " + movieArrayList.size());
        if (movieArrayList.size() > 0) {
            listView.setAdapter(new MovieAdapter(getActivity(), movieArrayList));
            listView.setVisibility(View.VISIBLE);
        } else {
            Toast.makeText(getActivity().getApplicationContext(), "No found", Toast.LENGTH_SHORT).show();
        }
    }
    private Bitmap LoadFromUrl(String theurl) {
        URL url = null;
        Bitmap bmp = null;
        try {
            url = new URL(theurl);
            bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream());
        } catch (IOException e) {
        }
        return bmp;
    }
}
I have no idea what could solve this problem. Following the answers I read here it seems that the code should work, but not so.
 
    