Skip to content
This repository was archived by the owner on May 13, 2022. It is now read-only.

Commit a64c3bb

Browse files
authored
Merge pull request #3 from digipost/Utvikling
Utvikling
2 parents 19c63d9 + 0c61b7b commit a64c3bb

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+1363
-319
lines changed

Digipost/build.gradle

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ dependencies {
2020
compile 'org.apache.commons:commons-io:1.3.2'
2121
compile 'commons-lang:commons-lang:2.3'
2222
compile 'com.nostra13.universalimageloader:universal-image-loader:1.8.5'
23-
2423
compile 'com.android.support:support-v13:24.1.1'
2524
compile 'com.android.support:appcompat-v7:24.1.1'
2625
compile 'com.android.support:recyclerview-v7:24.1.1'
@@ -38,8 +37,8 @@ dependencies {
3837

3938
android {
4039
defaultConfig {
41-
versionCode 51
42-
versionName '3.1.0'
40+
versionCode 55
41+
versionName '3.2.0'
4342
applicationId = "no.digipost.android"
4443
minSdkVersion 16
4544
targetSdkVersion 24
@@ -60,7 +59,6 @@ android {
6059
packagingOptions {
6160
exclude 'META-INF/LICENSE.txt'
6261
exclude 'META-INF/NOTICE.txt'
63-
6462
pickFirst 'META-INF/services/javax.ws.rs.ext.MessageBodyReader'
6563
pickFirst 'META-INF/services/javax.ws.rs.ext.MessageBodyWriter'
6664
pickFirst 'META-INF/LICENCE.txt'
Lines changed: 83 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
<?xml version="1.0" encoding="utf-8"?><!--
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!--
23
/**
34
* Copyright (C) Posten Norge AS
45
*
@@ -14,134 +15,136 @@
1415
* See the License for the specific language governing permissions and
1516
* limitations under the License.
1617
*/
17-
1818
-->
19-
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"
20-
package="no.digipost.android">
19+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
20+
xmlns:tools="http://schemas.android.com/tools"
21+
package="no.digipost.android">
2122

22-
<uses-permission android:name="android.permission.INTERNET" />
23-
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
24-
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
25-
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
26-
<uses-permission android:name="android.permission.WAKE_LOCK" />
23+
<uses-permission android:name="android.permission.INTERNET"/>
24+
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
25+
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
26+
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>
27+
<uses-permission android:name="android.permission.WAKE_LOCK"/>
2728

2829
<application
29-
android:name="no.digipost.android.DigipostApplication"
30-
android:hardwareAccelerated="true"
31-
android:icon="@drawable/ic_launcher"
32-
android:label="@string/app_name"
33-
android:fullBackupContent="false"
34-
android:allowBackup="false"
35-
android:theme="@style/Digipost"
36-
android:vmSafeMode="true">
37-
38-
<activity
39-
android:name="no.digipost.android.MainActivity"
40-
android:configChanges="orientation|screenSize"
30+
android:name=".DigipostApplication"
31+
android:allowBackup="false"
32+
android:fullBackupContent="false"
33+
android:hardwareAccelerated="true"
34+
android:icon="@drawable/ic_launcher"
4135
android:label="@string/app_name"
42-
android:screenOrientation="portrait"
43-
android:theme="@android:style/Theme.Holo.NoActionBar">
36+
android:theme="@style/Digipost"
37+
android:vmSafeMode="true">
38+
<activity
39+
android:name=".MainActivity"
40+
android:configChanges="orientation|screenSize"
41+
android:label="@string/app_name"
42+
android:screenOrientation="portrait"
43+
android:theme="@android:style/Theme.Holo.NoActionBar">
4444
<intent-filter>
45-
<action android:name="android.intent.action.MAIN" />
46-
<category android:name="android.intent.category.LAUNCHER" />
45+
<action android:name="android.intent.action.MAIN"/>
46+
47+
<category android:name="android.intent.category.LAUNCHER"/>
4748
</intent-filter>
4849
<intent-filter>
49-
<action android:name="android.intent.action.VIEW" />
50+
<action android:name="android.intent.action.VIEW"/>
5051

51-
<category android:name="android.intent.category.DEFAULT" />
52-
<category android:name="android.intent.category.BROWSABLE" />
52+
<category android:name="android.intent.category.DEFAULT"/>
53+
<category android:name="android.intent.category.BROWSABLE"/>
5354

5455
<data
55-
android:host="www.digipost.no"
56-
android:pathPrefix="/app/#/"
57-
android:scheme="https" />
56+
android:host="www.digipost.no"
57+
android:pathPrefix="/app/#/"
58+
android:scheme="https"/>
5859
</intent-filter>
5960
</activity>
6061
<activity
61-
android:name="no.digipost.android.gui.LoginActivity"
62-
android:configChanges="orientation|screenSize"
63-
android:screenOrientation="portrait"
64-
android:launchMode="singleTop"
65-
android:theme="@android:style/Theme.Holo.Light.NoActionBar"/>
62+
android:name=".gui.LoginActivity"
63+
android:configChanges="orientation|screenSize"
64+
android:launchMode="singleTop"
65+
android:screenOrientation="portrait"
66+
android:theme="@android:style/Theme.DeviceDefault.Light.NoActionBar"/>
6667
<activity
67-
android:name="no.digipost.android.gui.ScreenlockPreferenceActivity"
68-
android:configChanges="orientation|screenSize"
69-
android:screenOrientation="portrait"/>
68+
android:name=".gui.ScreenlockPreferenceActivity"
69+
android:configChanges="orientation|screenSize"
70+
android:screenOrientation="portrait"/>
7071
<activity
71-
android:name="no.digipost.android.gui.MainContentActivity"
72-
android:screenOrientation="portrait"
73-
android:configChanges="orientation|screenSize" />
72+
android:name=".gui.MainContentActivity"
73+
android:configChanges="orientation|screenSize"
74+
android:screenOrientation="portrait"/>
7475
<activity
75-
android:name="no.digipost.android.gui.WebLoginActivity"
76-
android:configChanges="orientation|screenSize" />
76+
android:name=".gui.WebLoginActivity"
77+
android:configChanges="orientation|screenSize"/>
7778
<activity
78-
android:name="no.digipost.android.gui.content.HtmlAndReceiptActivity"
79-
android:configChanges="orientation|screenSize" />
80-
<activity android:name="no.digipost.android.gui.content.MuPDFActivity" />
79+
android:name=".gui.content.HtmlAndReceiptActivity"
80+
android:configChanges="orientation|screenSize"/>
81+
<activity android:name=".gui.content.MuPDFActivity"/>
8182
<activity
82-
android:name="no.digipost.android.gui.content.UnsupportedDocumentFormatActivity"
83-
android:configChanges="orientation|screenSize" />
83+
android:name=".gui.content.UnsupportedDocumentFormatActivity"
84+
android:configChanges="orientation|screenSize"/>
8485
<activity
85-
android:name="no.digipost.android.gui.content.UploadActivity"
86-
android:configChanges="orientation|screenSize" />
86+
android:name=".gui.content.UploadActivity"
87+
android:configChanges="orientation|screenSize"/>
8788
<activity
88-
android:name="no.digipost.android.gui.content.SettingsActivity"
89-
android:configChanges="orientation|screenSize" />
89+
android:name=".gui.content.SettingsActivity"
90+
android:configChanges="orientation|screenSize"/>
9091
<activity
91-
android:name="no.digipost.android.gui.content.NotificationSettingsActivity"
92-
android:configChanges="orientation|screenSize"
93-
android:windowSoftInputMode="stateHidden" />
92+
android:name=".gui.content.NotificationSettingsActivity"
93+
android:configChanges="orientation|screenSize"
94+
android:windowSoftInputMode="stateHidden"/>
9495
<activity
95-
android:name="no.digipost.android.gui.content.PersonalSettingsActivity"
96-
android:configChanges="orientation|screenSize" />
97-
96+
android:name=".gui.content.PersonalSettingsActivity"
97+
android:configChanges="orientation|screenSize"/>
98+
<activity
99+
android:name=".gui.content.invoice.InvoiceBankActivity"/>
100+
<activity android:name=".gui.content.invoice.InvoiceOptionsActivity">
101+
</activity>
98102
<receiver
99103
android:name="com.google.android.gms.gcm.GcmReceiver"
100104
android:exported="true"
101-
android:permission="com.google.android.c2dm.permission.SEND" >
105+
android:permission="com.google.android.c2dm.permission.SEND">
102106
<intent-filter>
103-
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
104-
<category android:name="no.digipost.android.gcmreceiver" />
107+
<action android:name="com.google.android.c2dm.intent.RECEIVE"/>
108+
109+
<category android:name="no.digipost.android.gcmreceiver"/>
105110
</intent-filter>
106111
</receiver>
107-
108-
<receiver android:name="com.google.android.gms.analytics.AnalyticsReceiver"
109-
android:enabled="true"
110-
android:exported="false">
112+
<receiver
113+
android:name="com.google.android.gms.analytics.AnalyticsReceiver"
114+
android:enabled="true"
115+
android:exported="false">
111116
<intent-filter>
112-
<action android:name="com.google.android.gms.analytics.ANALYTICS_DISPATCH" />
117+
<action android:name="com.google.android.gms.analytics.ANALYTICS_DISPATCH"/>
113118
</intent-filter>
114119
</receiver>
115-
<service android:name="com.google.android.gms.analytics.AnalyticsService"
116-
android:enabled="true"
117-
android:exported="false"
118-
/>
119120

120121
<service
121-
android:name="no.digipost.android.gcm.ListenerService"
122-
android:exported="false" >
122+
android:name="com.google.android.gms.analytics.AnalyticsService"
123+
android:enabled="true"
124+
android:exported="false"/>
125+
<service
126+
android:name=".gcm.ListenerService"
127+
android:exported="false">
123128
<intent-filter>
124-
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
129+
<action android:name="com.google.android.c2dm.intent.RECEIVE"/>
125130
</intent-filter>
126131
</service>
127-
128132
<service
129-
android:name="no.digipost.android.gcm.MyInstanceIDListenerService"
133+
android:name=".gcm.MyInstanceIDListenerService"
130134
android:exported="false">
131135
<intent-filter>
132136
<action android:name="com.google.android.gms.iid.InstanceID"/>
133137
</intent-filter>
134138
</service>
135-
136139
<service
137-
android:name="no.digipost.android.gcm.RegistrationService"
140+
android:name=".gcm.RegistrationService"
138141
android:exported="false">
139142
</service>
140143

141-
142144
<meta-data
143145
android:name="com.google.android.gms.version"
144-
android:value="@integer/google_play_services_version" />
146+
android:value="@integer/google_play_services_version"/>
145147

146148
</application>
149+
147150
</manifest>

Digipost/src/main/java/no/digipost/android/analytics/GAEventController.java

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,47 @@
77

88
public class GAEventController {
99

10-
public static final String appLaunchOrigin = "app-launch-origin";
11-
public static final String loginRememberMeOption = "login-remember-me";
12-
public static final String LAUNCH_ORIGIN_NORMAL = "normal";;
10+
public static final String LAUNCH_ORIGIN_NORMAL = "normal";
1311
public static final String LAUNCH_ORIGIN_PUSH = "push";
1412

13+
private static final String appLaunchOrigin = "app-launch-origin";
14+
private static final String loginRememberMeOption = "login-remember-me";
15+
private static final String FAKTURA_AVTALE_OPPSETT_KONTEKST_BASERT = "faktura-avtale-oppsett-kontekst-basert";
16+
1517
public static void sendLaunchEvent(Activity activity, String actionText){
1618
sendEvent(activity, appLaunchOrigin, actionText, appLaunchOrigin+"-"+actionText);
1719
}
1820

21+
public static void sendLoginClickEvent(Activity activity, String event){
22+
sendEvent(activity, "innlogging", "klikk-link", event);
23+
}
24+
1925
public static void sendRememberMeEvent(Activity activity, boolean enabled){
2026
String actionText = (enabled ? "true" : "false");
2127
sendEvent(activity, loginRememberMeOption, actionText, loginRememberMeOption+"-"+actionText);
2228
}
2329

24-
public static void sendEvent(Activity activity, String category, String action, String label){
30+
public static void sendInvoiceClickedChooseBankDialog(Activity activity, String buttonText){
31+
sendEvent(activity, FAKTURA_AVTALE_OPPSETT_KONTEKST_BASERT, "klikk-start-oppsett", buttonText);
32+
}
33+
34+
public static void sendInvoiceOpenBankViewFromListEvent(Activity activity, String bank){
35+
sendEvent(activity, FAKTURA_AVTALE_OPPSETT_KONTEKST_BASERT, "klikk-bank-i-liste", bank);
36+
}
37+
38+
public static void sendInvoiceClickedDigipostOpenPagesLink(Activity activity, String bank){
39+
sendEvent(activity, FAKTURA_AVTALE_OPPSETT_KONTEKST_BASERT, "klikk-digipost-faktura-åpne-sider", bank);
40+
}
41+
42+
public static void sendInvoiceClickedSetup10Link(Activity activity, String bank){
43+
sendEvent(activity, FAKTURA_AVTALE_OPPSETT_KONTEKST_BASERT, "klikk-oppsett-avtale-type-1-link", bank);
44+
}
45+
46+
public static void sendInvoiceClickedSetup20Link(Activity activity, String bank){
47+
sendEvent(activity, FAKTURA_AVTALE_OPPSETT_KONTEKST_BASERT, "klikk-oppsett-avtale-type-2-link", bank);
48+
}
49+
50+
private static void sendEvent(Activity activity, String category, String action, String label){
2551
getTracker(activity).send(new HitBuilders.EventBuilder()
2652
.setCategory(category)
2753
.setAction(action)

Digipost/src/main/java/no/digipost/android/api/ContentOperations.java

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,7 @@
2727
import no.digipost.android.api.exception.DigipostClientException;
2828
import no.digipost.android.constants.ApiConstants;
2929
import no.digipost.android.constants.ApplicationConstants;
30-
import no.digipost.android.model.Account;
31-
import no.digipost.android.model.Attachment;
32-
import no.digipost.android.model.CurrentBankAccount;
33-
import no.digipost.android.model.Document;
34-
import no.digipost.android.model.Documents;
35-
import no.digipost.android.model.Folder;
36-
import no.digipost.android.model.Folders;
37-
import no.digipost.android.model.Mailbox;
38-
import no.digipost.android.model.Receipt;
39-
import no.digipost.android.model.Receipts;
40-
import no.digipost.android.model.Settings;
30+
import no.digipost.android.model.*;
4131
import no.digipost.android.utilities.JSONUtilities;
4232
import no.digipost.android.utilities.NetworkUtilities;
4333
import org.apache.http.entity.StringEntity;
@@ -289,4 +279,12 @@ public static Settings getSettings(Context context) throws DigipostClientExcepti
289279
}
290280
return (Settings) JSONUtilities.processJackson(Settings.class, apiAccess.getApiJsonString(context, getCurrentMailbox(context).getSettingsUri(), null));
291281
}
292-
}
282+
283+
public static ArrayList<Bank> getInvoiceBanksAgreementState(final Context context)throws DigipostClientException, DigipostAuthenticationException,
284+
DigipostApiException {
285+
refreshApiAccess();
286+
287+
Banks banks = (Banks) JSONUtilities.processJackson(Banks.class, apiAccess.getApiJsonString(context, getAccount(context).getPrimaryAccount().getBanksUri(), null));
288+
return banks.getBanks();
289+
}
290+
}

Digipost/src/main/java/no/digipost/android/constants/ApiConstants.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
package no.digipost.android.constants;
1818

19+
import no.digipost.android.authentication.Secret;
20+
1921
public class ApiConstants {
2022

2123
public static final String ERROR_CODE = "error-code";
@@ -68,10 +70,8 @@ public class ApiConstants {
6870
public static final String SCOPE_IDPORTEN_3 = "FULL_IDPORTEN3";
6971
public static final String SCOPE_IDPORTEN_4 = "FULL_IDPORTEN4";
7072

71-
public static final String URL = "https://www.digipost.no/post/";
72-
73-
public static final String URL_API = URL + "api";
74-
public static final String URL_RELATIONS = URL + "relations/";
73+
public static final String URL_API = Secret.ENV_URL + "api";
74+
public static final String URL_RELATIONS = Secret.ENV_URL + "relations/";
7575
public static final String URL_RELATIONS_DOCUMENT_INBOX = URL_RELATIONS + "document_inbox";
7676
public static final String URL_RELATIONS_DOCUMENT_ARCHIVE = URL_RELATIONS + "document_archive";
7777
public static final String URL_RELATIONS_DOCUMENT_WORKAREA = URL_RELATIONS + "document_workarea";
@@ -89,16 +89,17 @@ public class ApiConstants {
8989
public static final String URL_RELATIONS_SEND_TO_BANK = URL_RELATIONS + "send_to_bank";
9090
public static final String URL_RELATIONS_RECEIPT_HTML = URL_RELATIONS + "get_receipt_as_html";
9191
public static final String URL_RELATIONS_RECEIPT_DELETE = URL_RELATIONS + "delete_receipt";
92+
public static final String URL_RELATIONS_BANKS = URL_RELATIONS + "banks";
9293

9394
public static final String URL_RELATIONS_CHANGE_FOLDER = URL_RELATIONS + "change_folder";
9495
public static final String URL_RELATIONS_DELETE_FOLDER = URL_RELATIONS + "delete_folder";
9596
public static final String URL_RELATIONS_CREATE_FOLDER = URL_RELATIONS + "create_folder";
9697
public static final String URL_RELATIONS_UPDATE_FOLDERS = URL_RELATIONS + "update_folders";
9798
public static final String URL_RELATIONS_PUSH_REGISTRATION = URL_API + "/private/gcm_token";
9899

99-
public static final String URL_API_OAUTH_AUTHORIZE_NEW = URL + "api/oauth/authorize/new";
100-
public static final String URL_API_OAUTH_ACCESSTOKEN = URL + "api/oauth/accesstoken";
101-
public static final String URL_API_OAUTH_REVOKE = URL + "api/oauth/revoke";
100+
public static final String URL_API_OAUTH_AUTHORIZE_NEW = Secret.ENV_URL + "api/oauth/authorize/new";
101+
public static final String URL_API_OAUTH_ACCESSTOKEN = Secret.ENV_URL + "api/oauth/accesstoken";
102+
public static final String URL_API_OAUTH_REVOKE = Secret.ENV_URL + "api/oauth/revoke";
102103

103104
public static final String URL_HELP = "https://www.digipost.no/hjelp/#android";
104105

0 commit comments

Comments
 (0)