summaryrefslogtreecommitdiff
path: root/org.fox.ttrss/src/main/java/org/fox/ttrss/ApiRequest.java
blob: e993a866855c46fe82c7b5469b7526d7ccdae4de (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
package org.fox.ttrss;

import android.annotation.SuppressLint;
import android.content.Context;
import android.os.AsyncTask;

import com.google.gson.JsonElement;

import java.util.HashMap;

import static org.fox.ttrss.ApiCommon.ApiError;

public class ApiRequest extends AsyncTask<HashMap<String,String>, Integer, JsonElement> implements ApiCommon.ApiCaller {
	private final String TAG = this.getClass().getSimpleName();

	private boolean m_transportDebugging = false;
	private int m_responseCode = 0;
	private int m_apiStatusCode = 0;

	private Context m_context;
	protected String m_lastErrorMessage;

	protected ApiError m_lastError;

	public ApiRequest(Context context) {
		m_context = context;
		m_lastError = ApiError.NO_ERROR;
	}

	@SuppressLint("NewApi")
	@SuppressWarnings("unchecked")
	public void execute(HashMap<String,String> map) {
		super.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, map);
	}

	public int getErrorMessage() {
		return ApiCommon.getErrorMessage(m_lastError);
	}

	@Override
	protected JsonElement doInBackground(HashMap<String, String>... params) {
		return ApiCommon.performRequest(m_context, params[0], this);
	}

	@Override
	public void setStatusCode(int statusCode) {
		m_apiStatusCode = statusCode;
	}

	@Override
	public void setLastError(ApiError lastError) {
		m_lastError = lastError;
	}

	@Override
	public void setLastErrorMessage(String message) {
		m_lastErrorMessage = message;
	}
}