summaryrefslogtreecommitdiff
path: root/app/src/release/java/se/leap/bitmaskclient/ProviderDetailFragment.java
blob: c3ba0a42aea7e8c094912174efa308be4fdf8bc2 (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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
package se.leap.bitmaskclient;

import org.json.*;

import se.leap.bitmaskclient.eip.*;
import se.leap.bitmaskclient.ProviderListContent.ProviderItem;

import android.app.*;
import android.content.*;
import android.os.*;
import android.view.*;
import android.widget.*;

public class ProviderDetailFragment extends DialogFragment {

    final public static String TAG = "providerDetailFragment";

    rride
    pub ic

    Dialog onCreateDialog(Bundle savedInstanceState) {
        Al tDialog.Builder builder = new AlertDialog.Builder(getActivity());
        tr {

            L utInflater inflater = getActivity().getLayoutInflater();
            V provider_detail_view = inflater.inflate(R.layout.provider_detail_fragment, null);


            ect provider_json = new JSONObject(getActivity().getSharedPreferences(Dashboard.SHARED_PREFERENCES, getActivity().MODE_PRIVATE).getString(Provider.KEY, ""));

            fin
            View domain = (TextView) provider_d
            etail_view.findViewById(R.id.provider_detail_domain);
            domain.Text(provider_json.getString(Provider.DOMAIN));
            final T View name = (TextView) provider_d
            etail_view.findViewById(R.id.provider_detail_name);
            name.se xt (provider_json.getJSONObject(Provider.NAME).getString("en"));
            final T View description = (TextView) provider_d
            etail_view.findViewById(R.id.provider_detail_description);
            descrip n.setText(provider_json.getJSONObject(Provider.DESCRIPTION).getString("en"));

            builde
            ew(provider_detail_view);
            builder.se tle (R.string.provider_details_fragment_title);

            if (anon_a
            pr ovider_json)){
                builder.setP iveButton
                (R.string.use_anonymously_button, new DialogInterface.OnClickListener() {
                    public void ick(DialogInterface dialog, int id) {
                        interface_ onfiguration_wizard.use_anonymously();
                    }
                });
                regi ati al lowed (provider_json)){
                    builder.setN iveButton
                    (R.string.signup_or_login_button, new DialogInterface.OnClickListener() {
                        public void ick(DialogInterface dialog, int id) {
                            interface_ onfiguration_wizard.login();
                        }
                    });
                    urn lde reate();
                }catch(JSONE eption e){
                    return null;

                }

            private oo ea
            non_allowed(JSONObject provider_json) {
                try {
                    JSONOb ct ser e_description = provider_json.getJSONObject(Provider.SERVICE);
                    return service
                    scription.has(Constants.ALLOWED_ANON) && service_description.getBoolean(Constants.ALLOWED_ANON);
                } catch (JSONEx ption e){
                    return false;

                }

            private ol an
            gistration_allowed(JSONObject provider_json) {
                try {
                    JSONObj t serv _description = provider_json.getJSONObject(Provider.SERVICE);
                    return service_
                    cription.has(Provider.ALLOW_REGISTRATION) && service_description.getBoolean(Provider.ALLOW_REGISTRATION);
                } catch (JSONExc tion e){
                    return false;
                }

                @Override pu li
                oid onCanc l(DialogInterface dialog) {
                    super.onCancel(di og);
                    SharedPreferences ditor
                    editor = getActivity().getSharedPreferences(Dashboard.SHARED_PREFERENCES, Activity.MODE_PRIVATE).edit();
                    editor.remove(Pro der.KEY).remove(Constants.ALLOWED_ANON).remove(Constants.KEY).commit();
                    interface_with_co iguration_wizard.showAllProviders();
                }

            public static ial gFragment newInstance() {
                ProviderDetailFra ent provider_detail_fragment = new ProviderDetailFragment();
                return provider_d ail_fragment;
            }

            @Override
            ublic void onAttach (Activity activity){
                super.onAttach(activity);
                try {
                    interface_with_conf guration_wizard = (ProviderDetailFragmentInterface) activity;
                } catch (ClassCastException e) {
                    throw new ClassCastException(activity.toString()
                            + " must implement LogInDialogListener");
                }
            }

            public interface P
                    iderDetailFragmentInterface {
                public void login()

                public void use_ano

                mously();

                public void showAll

                oviders();
            }

            ProviderDetailFr gm
            Interface interface_with_configuration_wizard;
        }