Search in sources :

Example 1 with StringRequestCallback

use of oscar.riksdagskollen.Utilities.JSONModels.StringRequestCallback in project Riksdagskollen by OAndell.

the class DocumentReaderActivity method onCreate.

@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_document_reader);
    document = getIntent().getParcelableExtra("document");
    Toolbar toolbar = findViewById(R.id.toolbar);
    toolbar.setTitle(document.getDokumentnamn());
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    loadingView = findViewById(R.id.loading_view);
    contentView = findViewById(R.id.act_doc_reader_content_container);
    contentView.setVisibility(View.GONE);
    app = RikdagskollenApp.getInstance();
    // Fetch the document body from the API
    app.getRiksdagenAPIManager().getDocumentBody(document, new StringRequestCallback() {

        @Override
        public void onResponse(String response) {
            docBody = response;
            loadingView.setVisibility(View.GONE);
            contentView.setVisibility(View.VISIBLE);
            populateViewWithDocumentInformation();
        }

        @Override
        public void onFail(VolleyError error) {
        }
    });
}
Also used : VolleyError(com.android.volley.VolleyError) StringRequestCallback(oscar.riksdagskollen.Utilities.JSONModels.StringRequestCallback) Toolbar(android.support.v7.widget.Toolbar)

Example 2 with StringRequestCallback

use of oscar.riksdagskollen.Utilities.JSONModels.StringRequestCallback in project Riksdagskollen by OAndell.

the class MotionActivity method onCreate.

@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_motion);
    document = getIntent().getParcelableExtra("document");
    TextView titleTV = findViewById(R.id.act_doc_reader_title);
    TextView authorTV = findViewById(R.id.act_doc_reader_author);
    loadingView = findViewById(R.id.loading_view);
    context = this;
    Toolbar toolbar = findViewById(R.id.toolbar);
    toolbar.setTitle("Motion");
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    titleTV.setText(document.getTitel());
    authorTV.setText(document.getUndertitel());
    WebViewClient webViewClient = new CustomWebViewClient();
    final WebView webView = findViewById(R.id.webview);
    webView.setWebChromeClient(new WebChromeClient() {

        @Override
        public void onProgressChanged(WebView view, final int newProgress) {
            if (newProgress == 100) {
                loadingView.setVisibility(View.GONE);
            }
        }
    });
    webView.setWebViewClient(webViewClient);
    webView.getSettings().setDomStorageEnabled(true);
    webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
    webView.getSettings().setLoadWithOverviewMode(true);
    webView.getSettings().setUseWideViewPort(true);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.setInitialScale(1);
    // Disable text-select to make consistent with rest of app
    webView.setLongClickable(false);
    webView.setOnLongClickListener(new View.OnLongClickListener() {

        @Override
        public boolean onLongClick(View v) {
            return true;
        }
    });
    final RikdagskollenApp app = RikdagskollenApp.getInstance();
    app.getRiksdagenAPIManager().getDocumentBody(document, new StringRequestCallback() {

        @Override
        public void onResponse(String response) {
            Document doc = Jsoup.parse(response);
            // Remove title
            doc.head().append("<meta name=\"viewport\" content='width=device-width, initial-scale=2.0,text/html, charset='utf-8'>\n");
            doc.head().appendElement("link").attr("rel", "stylesheet").attr("type", "text/css").attr("href", "motion_style.css");
            doc.select("div>span.sidhuvud_publikation").remove();
            doc.select("div>span.sidhuvud_beteckning").remove();
            doc.select("div>span.MotionarLista").remove();
            doc.select("div.pconf>h1").remove();
            doc.select("div>hr.sidhuvud_linje").remove();
            doc.select("head>style").remove();
            doc.select("body>div>br").remove();
            // Clear default styling
            String result = doc.toString().replaceAll("class=\\\"[A-Öa-ö0-9]+\\\"", "");
            result = result.replaceAll("style=\"[A-Öa-ö-_:;\\s0-9.%']+\"", "");
            webView.loadDataWithBaseURL("file:///android_asset/", result, "text/html", "UTF-8", null);
            System.out.println(result);
        }

        @Override
        public void onFail(VolleyError error) {
        }
    });
    LinearLayout portaitContainer = findViewById(R.id.act_doc_reader_portrait_container);
    for (Intressent i : document.getDokintressent().getIntressenter()) {
        final View portraitView;
        TextView nameTv;
        if (i.getRoll().equals("undertecknare")) {
            portraitView = LayoutInflater.from(this).inflate(R.layout.intressent_layout, null);
            final NetworkImageView portrait = portraitView.findViewById(R.id.intressent_portait);
            portrait.setDefaultImageResId(R.mipmap.ic_default_person);
            nameTv = portraitView.findViewById(R.id.intressent_name);
            nameTv.setText(i.getNamn() + " (" + i.getPartibet() + ")");
            app.getRiksdagenAPIManager().getRepresentative(i.getIntressent_id(), new RepresentativeCallback() {

                @Override
                public void onPersonFetched(Representative representative) {
                    portrait.setImageUrl(representative.getBild_url_192(), app.getRequestManager().getmImageLoader());
                }

                @Override
                public void onFail(VolleyError error) {
                }
            });
            portaitContainer.addView(portraitView);
        }
    }
}
Also used : VolleyError(com.android.volley.VolleyError) RikdagskollenApp(oscar.riksdagskollen.RikdagskollenApp) Intressent(oscar.riksdagskollen.Utilities.JSONModels.Intressent) NetworkImageView(com.android.volley.toolbox.NetworkImageView) StringRequestCallback(oscar.riksdagskollen.Utilities.JSONModels.StringRequestCallback) PartyDocument(oscar.riksdagskollen.Utilities.JSONModels.PartyDocument) Document(org.jsoup.nodes.Document) RepresentativeCallback(oscar.riksdagskollen.Utilities.Callbacks.RepresentativeCallback) NetworkImageView(com.android.volley.toolbox.NetworkImageView) View(android.view.View) WebView(android.webkit.WebView) TextView(android.widget.TextView) WebChromeClient(android.webkit.WebChromeClient) TextView(android.widget.TextView) Representative(oscar.riksdagskollen.Utilities.JSONModels.Representative) WebView(android.webkit.WebView) LinearLayout(android.widget.LinearLayout) Toolbar(android.support.v7.widget.Toolbar) WebViewClient(android.webkit.WebViewClient)

Aggregations

Toolbar (android.support.v7.widget.Toolbar)2 VolleyError (com.android.volley.VolleyError)2 StringRequestCallback (oscar.riksdagskollen.Utilities.JSONModels.StringRequestCallback)2 View (android.view.View)1 WebChromeClient (android.webkit.WebChromeClient)1 WebView (android.webkit.WebView)1 WebViewClient (android.webkit.WebViewClient)1 LinearLayout (android.widget.LinearLayout)1 TextView (android.widget.TextView)1 NetworkImageView (com.android.volley.toolbox.NetworkImageView)1 Document (org.jsoup.nodes.Document)1 RikdagskollenApp (oscar.riksdagskollen.RikdagskollenApp)1 RepresentativeCallback (oscar.riksdagskollen.Utilities.Callbacks.RepresentativeCallback)1 Intressent (oscar.riksdagskollen.Utilities.JSONModels.Intressent)1 PartyDocument (oscar.riksdagskollen.Utilities.JSONModels.PartyDocument)1 Representative (oscar.riksdagskollen.Utilities.JSONModels.Representative)1