Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
hds
flexin
android-app
Commits
d563c582
Commit
d563c582
authored
Dec 30, 2017
by
Nastuzzi Samy
Browse files
Merge branch 'release/v0.11.7'
parents
5ab78274
95e383a0
Changes
12
Hide whitespace changes
Inline
Side-by-side
PayUTC 0.11.7.apk
0 → 100644
View file @
d563c582
File added
app/src/main/AndroidManifest.xml
View file @
d563c582
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android=
"http://schemas.android.com/apk/res/android"
package=
"fr.utc.simde.jessy"
android:versionCode=
"
39
"
android:versionName=
"0.11.
6
"
>
android:versionCode=
"
40
"
android:versionName=
"0.11.
7
"
>
<uses-permission
android:name=
"android.permission.NFC"
/>
<uses-permission
android:name=
"android.permission.INTERNET"
/>
...
...
app/src/main/java/fr/utc/simde/jessy/BaseActivity.java
View file @
d563c582
...
...
@@ -6,6 +6,7 @@ import android.app.AlarmManager;
import
android.app.DownloadManager
;
import
android.app.PendingIntent
;
import
android.content.BroadcastReceiver
;
import
android.content.ComponentName
;
import
android.content.Context
;
import
android.content.DialogInterface
;
import
android.content.Intent
;
...
...
@@ -102,8 +103,17 @@ public abstract class BaseActivity extends InternetActivity {
});
}
protected
void
hasRights
(
final
String
title
,
final
String
[]
rightList
,
final
Runnable
runnable
)
{
hasRights
(
title
,
rightList
,
false
,
runnable
);}
protected
void
hasRights
(
final
String
title
,
final
String
[]
rightList
,
final
boolean
needToBeSuper
,
final
Runnable
runnable
)
{
protected
void
hasRights
(
final
String
title
,
final
String
[]
rightList
,
final
Runnable
runnablePos
)
{
hasRights
(
title
,
rightList
,
false
,
runnablePos
);}
protected
void
hasRights
(
final
String
title
,
final
String
[]
rightList
,
final
boolean
needToBeSuper
,
final
Runnable
runnablePos
)
{
hasRights
(
title
,
rightList
,
false
,
runnablePos
,
new
Runnable
()
{
@Override
public
void
run
()
{
dialog
.
errorDialog
(
BaseActivity
.
this
,
title
,
nemopaySession
.
forbidden
(
rightList
,
needToBeSuper
));
}
});
}
protected
void
hasRights
(
final
String
title
,
final
String
[]
rightList
,
final
Runnable
runnablePos
,
final
Runnable
runnableNeg
)
{
hasRights
(
title
,
rightList
,
false
,
runnablePos
,
runnableNeg
);}
protected
void
hasRights
(
final
String
title
,
final
String
[]
rightList
,
final
boolean
needToBeSuper
,
final
Runnable
runnablePos
,
final
Runnable
runnableNeg
)
{
dialog
.
startLoading
(
BaseActivity
.
this
,
getString
(
R
.
string
.
information_collection
),
getString
(
R
.
string
.
user_rights_list_collecting
));
new
Thread
()
{
@Override
...
...
@@ -130,7 +140,7 @@ public abstract class BaseActivity extends InternetActivity {
@Override
public
void
run
()
{
dialog
.
stopLoading
();
runnable
.
run
();
runnable
Pos
.
run
();
}
});
...
...
@@ -149,7 +159,7 @@ public abstract class BaseActivity extends InternetActivity {
@Override
public
void
run
()
{
dialog
.
stopLoading
();
runnable
.
run
();
runnable
Pos
.
run
();
}
});
else
{
...
...
@@ -157,7 +167,7 @@ public abstract class BaseActivity extends InternetActivity {
@Override
public
void
run
()
{
dialog
.
stopLoading
();
dialog
.
errorDialog
(
BaseActivity
.
this
,
title
,
nemopaySession
.
forbidden
(
rightList
,
needToBeSuper
)
);
runnableNeg
.
run
(
);
}
});
}
...
...
@@ -178,34 +188,26 @@ public abstract class BaseActivity extends InternetActivity {
}
protected
void
restartApp
(
final
Activity
activity
)
{
try
{
PackageManager
pm
=
getPackageManager
();
Intent
mStartActivity
=
pm
.
getLaunchIntentForPackage
(
getPackageName
()
);
mStartActivity
.
addFlags
(
Intent
.
FLAG_ACTIVITY_CLEAR_TOP
);
int
mPendingIntentId
=
223344
;
PendingIntent
mPendingIntent
=
PendingIntent
.
getActivity
(
activity
,
mPendingIntentId
,
mStartActivity
,
PendingIntent
.
FLAG_CANCEL_CURRENT
);
AlarmManager
mgr
=
(
AlarmManager
)
getSystemService
(
Context
.
ALARM_SERVICE
);
mgr
.
set
(
AlarmManager
.
RTC
,
System
.
currentTimeMillis
()
+
100
,
mPendingIntent
);
System
.
exit
(
0
);
}
catch
(
Exception
e
)
{
Log
.
e
(
LOG_TAG
,
e
.
getMessage
());
}
startMainActivity
(
activity
);
}
protected
void
startMainActivity
(
final
Activity
activity
)
{
disconnect
();
if
(
activity
instanceof
MainActivity
)
((
MainActivity
)
activity
).
launch
();
else
{
disconnect
();
Intent
intent
=
new
Intent
(
activity
,
MainActivity
.
class
);
intent
.
addFlags
(
Intent
.
FLAG_ACTIVITY_CLEAR_TOP
|
Intent
.
FLAG_ACTIVITY_SINGLE_TOP
);
finish
();
activity
.
startActivity
(
intent
);
Intent
intent
=
new
Intent
(
activity
,
MainActivity
.
class
);
intent
.
addFlags
(
Intent
.
FLAG_ACTIVITY_CLEAR_TOP
|
Intent
.
FLAG_ACTIVITY_SINGLE_TOP
);
finish
();
activity
.
startActivity
(
intent
);
}
}
protected
void
startFoundationListActivity
(
final
Activity
activity
)
{
if
(!
nemopaySession
.
isConnected
())
restartApp
(
activity
);
if
(
config
.
getFoundationId
()
!=
-
1
)
{
startSellActivity
(
activity
);
return
;
...
...
@@ -260,15 +262,24 @@ public abstract class BaseActivity extends InternetActivity {
}
public
void
startSellActivity
(
final
Activity
activity
)
{
if
(!
nemopaySession
.
isConnected
())
restartApp
(
activity
);
startArticleGroupActivity
(
activity
,
new
Intent
(
activity
,
SellActivity
.
class
));
}
public
void
startEditActivity
(
final
Activity
activity
)
{
if
(!
nemopaySession
.
isConnected
())
restartApp
(
activity
);
config
.
setInCategory
(
true
);
// Do not allow keyboard modification (not supported yet)
startArticleGroupActivity
(
activity
,
new
Intent
(
activity
,
EditActivity
.
class
));
}
public
void
startArticleGroupActivity
(
final
Activity
activity
,
final
Intent
intent
)
{
if
(!
nemopaySession
.
isConnected
())
restartApp
(
activity
);
dialog
.
startLoading
(
activity
,
activity
.
getResources
().
getString
(
R
.
string
.
information_collection
),
getString
(
R
.
string
.
location_list_collecting
));
new
Thread
()
{
...
...
@@ -484,6 +495,9 @@ public abstract class BaseActivity extends InternetActivity {
}
protected
void
startBuyerInfoActivity
(
final
Activity
activity
,
final
String
badgeId
)
{
if
(!
nemopaySession
.
isConnected
())
restartApp
(
activity
);
dialog
.
startLoading
(
activity
,
activity
.
getResources
().
getString
(
R
.
string
.
information_collection
),
activity
.
getResources
().
getString
(
R
.
string
.
buyer_info_collecting
));
final
Intent
intent
=
new
Intent
(
activity
,
BuyerInfoActivity
.
class
);
...
...
@@ -546,6 +560,9 @@ public abstract class BaseActivity extends InternetActivity {
}
protected
void
startCardManagementActivity
(
final
Activity
activity
)
{
if
(!
nemopaySession
.
isConnected
())
restartApp
(
activity
);
hasRights
(
getString
(
R
.
string
.
user_rights_list_collecting
),
new
String
[]{
"GESUSERS"
},
true
,
new
Runnable
()
{
@Override
public
void
run
()
{
...
...
@@ -555,20 +572,15 @@ public abstract class BaseActivity extends InternetActivity {
}
protected
void
startQRCodeReaderActivity
(
final
Activity
activity
)
{
if
(!
nemopaySession
.
isConnected
())
restartApp
(
activity
);
if
(
haveCameraPermission
())
startActivity
(
new
Intent
(
activity
,
QRCodeReaderActivity
.
class
));
else
dialog
.
errorDialog
(
BaseActivity
.
this
,
getString
(
R
.
string
.
qrcode
),
getString
(
R
.
string
.
need_camera_permission
));
}
protected
void
delKey
()
{
SharedPreferences
.
Editor
edit
=
sharedPreferences
.
edit
();
edit
.
remove
(
"key"
);
edit
.
apply
();
unregister
(
BaseActivity
.
this
);
}
protected
void
setNemopayKey
(
final
String
key
)
{
if
(
key
.
equals
(
""
))
return
;
...
...
app/src/main/java/fr/utc/simde/jessy/BuyerInfoActivity.java
View file @
d563c582
...
...
@@ -139,7 +139,27 @@ public class BuyerInfoActivity extends BaseActivity {
@Override
public
void
run
()
{
try
{
nemopaySession
.
cancelTransaction
(
article
.
get
(
"fundation_id"
).
intValue
(),
article
.
get
(
"purchase_id"
).
intValue
());
hasRights
(
getString
(
R
.
string
.
configurate
),
new
String
[]{
"GESSALES"
},
new
Runnable
()
{
@Override
public
void
run
()
{
try
{
nemopaySession
.
cancelTransaction
(
article
.
get
(
"fundation_id"
).
intValue
(),
article
.
get
(
"purchase_id"
).
intValue
(),
true
);
}
catch
(
Exception
e
)
{
Log
.
e
(
LOG_TAG
,
"error: "
+
e
.
getMessage
());
}
}
},
new
Runnable
()
{
@Override
public
void
run
()
{
try
{
nemopaySession
.
cancelTransaction
(
article
.
get
(
"fundation_id"
).
intValue
(),
article
.
get
(
"purchase_id"
).
intValue
(),
false
);
}
catch
(
Exception
e
)
{
Log
.
e
(
LOG_TAG
,
"error: "
+
e
.
getMessage
());
}
}
});
Thread
.
sleep
(
100
);
runOnUiThread
(
new
Runnable
()
{
...
...
app/src/main/java/fr/utc/simde/jessy/EditActivity.java
View file @
d563c582
...
...
@@ -145,7 +145,20 @@ public class EditActivity extends ArticleGroupActivity {
switchCotisant
.
setChecked
(
config
.
getPrintCotisant
());
swtich18
.
setChecked
(
config
.
getPrint18
());
configButton
.
setVisibility
(
View
.
GONE
);
configButton
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
final
View
view
)
{
hasRights
(
getString
(
R
.
string
.
configurate
),
new
String
[]{
"STAFF"
,
"GESAPPLICATIONS"
},
new
Runnable
()
{
@Override
public
void
run
()
{
configDialog
();
}
});
}
});
final
AlertDialog
.
Builder
alertDialogBuilder
=
new
AlertDialog
.
Builder
(
EditActivity
.
this
);
alertDialogBuilder
...
...
@@ -311,7 +324,7 @@ public class EditActivity extends ArticleGroupActivity {
StringBuilder
builder
=
new
StringBuilder
(
dest
);
builder
.
replace
(
dstart
,
dend
,
source
.
subSequence
(
start
,
end
).
toString
());
if
(!
builder
.
toString
().
matches
(
"(([1-9]{1})([0-9]{0,"
+(
maxDigitsBeforeDecimalPoint
-
1
)+
"})?)?(\\.[0-9]{0,"
+
maxDigitsAfterDecimalPoint
+
"})?"
))
{
if
(!
builder
.
toString
().
matches
(
"((
(
[1-9]{1})([0-9]{0,"
+(
maxDigitsBeforeDecimalPoint
-
1
)+
"})?)
|0)
?(\\.[0-9]{0,"
+
maxDigitsAfterDecimalPoint
+
"})?"
))
{
if
(
source
.
length
()
==
0
)
return
dest
.
subSequence
(
dstart
,
dend
);
return
""
;
...
...
@@ -444,7 +457,7 @@ public class EditActivity extends ArticleGroupActivity {
.
setTitle
(
R
.
string
.
configuration
)
.
setView
(
popupView
)
.
setCancelable
(
false
)
.
setPositiveButton
(
R
.
string
.
re
load
,
new
DialogInterface
.
OnClickListener
()
{
.
setPositiveButton
(
R
.
string
.
re
gister
,
new
DialogInterface
.
OnClickListener
()
{
public
void
onClick
(
DialogInterface
dialogInterface
,
int
id
)
{
if
(!
nameInput
.
getText
().
toString
().
equals
(
""
)
&&
(
radioVariablePrice
.
isChecked
()
||
!
priceInput
.
getText
().
toString
().
equals
(
""
)))
{
dialog
.
startLoading
(
EditActivity
.
this
,
getString
(
R
.
string
.
article_edit
),
getString
(
R
.
string
.
article_editing
));
...
...
app/src/main/java/fr/utc/simde/jessy/MainActivity.java
View file @
d563c582
...
...
@@ -50,50 +50,7 @@ public class MainActivity extends BaseActivity {
super
.
onCreate
(
savedInstanceState
);
setContentView
(
R
.
layout
.
activity_main
);
sharedPreferences
=
getSharedPreferences
(
"payutc"
,
Activity
.
MODE_PRIVATE
);
nemopaySession
=
new
NemopaySession
(
MainActivity
.
this
);
ginger
=
new
Ginger
(
MainActivity
.
this
);
casConnexion
=
new
CASConnexion
(
nemopaySession
);
config
=
new
Config
(
sharedPreferences
);
setNemopayKey
(
sharedPreferences
.
getString
(
"key"
,
""
));
ginger
.
setKey
(
sharedPreferences
.
getString
(
"key_ginger"
,
""
));
appImg
=
findViewById
(
R
.
id
.
img_payutc
);
appNameText
=
findViewById
(
R
.
id
.
text_app_name
);
appConfigText
=
findViewById
(
R
.
id
.
text_app_config
);
appRegisteredText
=
findViewById
(
R
.
id
.
text_app_registered
);
usernameButton
=
findViewById
(
R
.
id
.
button_username
);
casConnexionDialog
=
false
;
appImg
.
setOnLongClickListener
(
new
View
.
OnLongClickListener
()
{
@Override
public
boolean
onLongClick
(
View
v
)
{
config
.
reset
();
restartApp
(
MainActivity
.
this
);
return
false
;
}
});
appRegisteredText
.
setOnLongClickListener
(
new
View
.
OnLongClickListener
()
{
@Override
public
boolean
onLongClick
(
View
v
)
{
optionDialog
();
return
false
;
}
});
usernameButton
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
casDialog
();
}
});
setConfig
();
checkUpdate
(
false
);
launch
();
}
@Override
...
...
@@ -108,6 +65,8 @@ public class MainActivity extends BaseActivity {
if
(!
key
.
equals
(
""
))
setNemopayKey
(
key
);
}
checkUpdate
(
false
);
}
@Override
...
...
@@ -128,6 +87,8 @@ public class MainActivity extends BaseActivity {
@Override
protected
void
enableInternetDialog
(
final
Context
context
)
{
Toast
.
makeText
(
context
,
R
.
string
.
internet_not_available
,
Toast
.
LENGTH_SHORT
).
show
();
appRegisteredText
.
setText
(
R
.
string
.
app_not_connected
);
appRegisteredText
.
setOnLongClickListener
(
null
);
dialog
.
infoDialog
(
MainActivity
.
this
,
getString
(
R
.
string
.
connection
),
getString
(
R
.
string
.
internet_accessibility
),
new
DialogInterface
.
OnClickListener
()
{
@Override
...
...
@@ -166,6 +127,53 @@ public class MainActivity extends BaseActivity {
((
TextView
)
findViewById
(
R
.
id
.
text_app_registered
)).
setText
(
R
.
string
.
app_not_registred
);
}
protected
void
launch
()
{
sharedPreferences
=
getSharedPreferences
(
"payutc"
,
Activity
.
MODE_PRIVATE
);
nemopaySession
=
new
NemopaySession
(
MainActivity
.
this
);
ginger
=
new
Ginger
(
MainActivity
.
this
);
casConnexion
=
new
CASConnexion
(
nemopaySession
);
config
=
new
Config
(
sharedPreferences
);
setNemopayKey
(
sharedPreferences
.
getString
(
"key"
,
""
));
ginger
.
setKey
(
sharedPreferences
.
getString
(
"key_ginger"
,
""
));
appImg
=
findViewById
(
R
.
id
.
img_payutc
);
appNameText
=
findViewById
(
R
.
id
.
text_app_name
);
appConfigText
=
findViewById
(
R
.
id
.
text_app_config
);
appRegisteredText
=
findViewById
(
R
.
id
.
text_app_registered
);
usernameButton
=
findViewById
(
R
.
id
.
button_username
);
casConnexionDialog
=
false
;
appImg
.
setOnLongClickListener
(
new
View
.
OnLongClickListener
()
{
@Override
public
boolean
onLongClick
(
View
v
)
{
config
.
reset
();
restartApp
(
MainActivity
.
this
);
return
false
;
}
});
appRegisteredText
.
setOnLongClickListener
(
new
View
.
OnLongClickListener
()
{
@Override
public
boolean
onLongClick
(
View
v
)
{
optionDialog
();
return
false
;
}
});
usernameButton
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
casDialog
();
}
});
setConfig
();
checkUpdate
(
false
);
}
protected
void
setConfig
()
{
if
(
config
.
getFoundationId
()
!=
-
1
)
{
appNameText
.
setText
(
config
.
getFoundationName
());
...
...
app/src/main/java/fr/utc/simde/jessy/SellActivity.java
View file @
d563c582
...
...
@@ -183,7 +183,7 @@ public class SellActivity extends ArticleGroupActivity {
configButton
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
final
View
view
)
{
hasRights
(
getString
(
R
.
string
.
configurate
_by_default
),
new
String
[]{
hasRights
(
getString
(
R
.
string
.
configurate
),
new
String
[]{
"STAFF"
,
"GESAPPLICATIONS"
},
new
Runnable
()
{
...
...
app/src/main/java/fr/utc/simde/jessy/adapters/ArticlesAdapter.java
View file @
d563c582
...
...
@@ -84,8 +84,14 @@ public abstract class ArticlesAdapter extends BaseAdapter {
this
.
clickViewList
[
position
].
setAlpha
(
0.0f
);
}
else
{
this
.
clickViewList
[
position
].
setText
(
this
.
nbrList
[
position
]
%
100
==
0
?
Integer
.
toString
(
this
.
nbrList
[
position
]
/
100
)
:
Float
.
toString
(
this
.
nbrList
[
position
]
/
100.0f
));
this
.
clickViewList
[
position
].
setAlpha
(
1.0f
);
if
(
this
.
articleList
.
get
(
position
).
get
(
"variable_price"
).
booleanValue
())
{
this
.
clickViewList
[
position
].
setText
(
this
.
nbrList
[
position
]
%
100
==
0
?
Integer
.
toString
(
this
.
nbrList
[
position
]
/
100
)
:
Float
.
toString
(
this
.
nbrList
[
position
]
/
100.0f
)
+
"€"
);
this
.
clickViewList
[
position
].
setBackgroundColor
(
Color
.
argb
(
255
,
150
,
200
,
150
));
}
else
this
.
clickViewList
[
position
].
setText
(
this
.
nbrList
[
position
]
%
100
==
0
?
Integer
.
toString
(
this
.
nbrList
[
position
]
/
100
)
:
Float
.
toString
(
this
.
nbrList
[
position
]
/
100.0f
));
}
}
...
...
@@ -97,7 +103,7 @@ public abstract class ArticlesAdapter extends BaseAdapter {
String
text
;
if
(
articleList
.
get
(
position
).
get
(
"variable_price"
).
booleanValue
())
text
=
articleList
.
get
(
position
).
get
(
"name"
).
textValue
()
+
": "
+
activity
.
getString
(
R
.
string
.
price_variable
);
text
=
articleList
.
get
(
position
).
get
(
"name"
).
textValue
()
+
": "
+
(
getNbr
(
position
)
==
0
?
activity
.
getString
(
R
.
string
.
price_variable
)
:
Float
.
toString
(
getNbr
(
position
)
/
100.0f
)
+
'$'
)
;
else
if
(
articleList
.
get
(
position
).
has
(
"quantity"
))
text
=
Integer
.
toString
(
articleList
.
get
(
position
).
get
(
"quantity"
).
intValue
())
+
"x "
+
articleList
.
get
(
position
).
get
(
"name"
).
textValue
()
+
": "
+
Integer
.
toString
(
articleList
.
get
(
position
).
get
(
"quantity"
).
intValue
())
+
"x "
+
String
.
format
(
"%.2f"
,
new
Float
(
articleList
.
get
(
position
).
get
(
"price"
).
intValue
())
/
100.00f
)
+
"€"
;
else
...
...
app/src/main/java/fr/utc/simde/jessy/adapters/ListAdapater.java
View file @
d563c582
...
...
@@ -48,8 +48,12 @@ public class ListAdapater extends ArticlesAdapter {
if
(
article
.
get
(
"id"
).
intValue
()
==
-
1
)
priceText
.
setVisibility
(
View
.
GONE
);
else
{
if
(
article
.
get
(
"variable_price"
).
booleanValue
())
priceText
.
setText
(
"PV: "
+
String
.
format
(
"%.2f"
,
new
Float
(
articleList
.
get
(
position
).
get
(
"price"
).
intValue
())
/
100.00f
)
+
"€"
);
if
(
article
.
get
(
"variable_price"
).
booleanValue
())
{
if
(
articleList
.
get
(
position
).
has
(
"quantity"
))
priceText
.
setText
(
String
.
format
(
"%.2f"
,
articleList
.
get
(
position
).
get
(
"price"
).
intValue
()
*
articleList
.
get
(
position
).
get
(
"quantity"
).
intValue
()
/
100.00f
)
+
"€"
);
else
priceText
.
setText
(
R
.
string
.
price_variable
);
}
else
priceText
.
setText
((
article
.
has
(
"quantity"
)
?
Integer
.
toString
(
article
.
get
(
"quantity"
).
intValue
())
+
"x "
:
""
)
+
String
.
format
(
"%.2f"
,
new
Float
(
articleList
.
get
(
position
).
get
(
"price"
).
intValue
())
/
100.00f
)
+
"€"
);
}
...
...
app/src/main/java/fr/utc/simde/jessy/fragments/SellFragment.java
View file @
d563c582
...
...
@@ -89,7 +89,7 @@ public class SellFragment extends ArticleGroupFragment {
StringBuilder
builder
=
new
StringBuilder
(
dest
);
builder
.
replace
(
dstart
,
dend
,
source
.
subSequence
(
start
,
end
).
toString
());
if
(!
builder
.
toString
().
matches
(
"(([1-9]{1})([0-9]{0,"
+(
maxDigitsBeforeDecimalPoint
-
1
)+
"})?)?(\\.[0-9]{0,"
+
maxDigitsAfterDecimalPoint
+
"})?"
))
{
if
(!
builder
.
toString
().
matches
(
"((
(
[1-9]{1})([0-9]{0,"
+(
maxDigitsBeforeDecimalPoint
-
1
)+
"})?)
|0)
?(\\.[0-9]{0,"
+
maxDigitsAfterDecimalPoint
+
"})?"
))
{
if
(
source
.
length
()
==
0
)
return
dest
.
subSequence
(
dstart
,
dend
);
return
""
;
...
...
app/src/main/java/fr/utc/simde/jessy/tools/NemopaySession.java
View file @
d563c582
...
...
@@ -216,21 +216,36 @@ public class NemopaySession {
}
);
}
public
int
cancelTransaction
(
final
int
foundationId
,
final
int
purchaseId
)
throws
Exception
{
public
int
cancelTransaction
(
final
int
foundationId
,
final
int
purchaseId
)
throws
Exception
{
return
cancelTransaction
(
foundationId
,
purchaseId
,
false
);
}
public
int
cancelTransaction
(
final
int
foundationId
,
final
int
purchaseId
,
final
boolean
hasSalesRights
)
throws
Exception
{
if
(!
isConnected
())
throw
new
Exception
(
this
.
notLogged
);
return
request
(
"POSS3"
,
"cancel"
,
new
HashMap
<
String
,
Object
>()
{{
put
(
"fun_id"
,
foundationId
);
put
(
"pur_id"
,
purchaseId
);
}},
new
String
[]{
"POSS3"
}
);
if
(
hasSalesRights
)
return
request
(
"POSS3"
,
"cancel"
,
new
HashMap
<
String
,
Object
>()
{{
put
(
"fun_id"
,
foundationId
);
put
(
"pur_id"
,
purchaseId
);
}},
new
String
[]{
"POSS3"
}
);
else
return
request
(
"GESSALES"
,
"cancelTransactionRow"
,
new
HashMap
<
String
,
Object
>()
{{
put
(
"fun_id"
,
foundationId
);
put
(
"pur_id"
,
purchaseId
);
}},
new
String
[]{
"POSS3"
,
"GESSALES"
}
);
}
public
int
setTransaction
(
final
String
badgeId
,
final
List
<
List
<
Integer
>>
articleList
)
throws
Exception
{
return
setTransaction
(
badgeId
,
articleList
,
this
.
foundationId
);
}
...
...
app/src/main/res/layout/activity_main.xml
View file @
d563c582
...
...
@@ -65,9 +65,9 @@
android:id=
"@+id/text_app_registered"
android:layout_width=
"fill_parent"
android:layout_height=
"wrap_content"
android:paddingBottom=
"10dp"
android:gravity=
"center"
android:textStyle=
"italic"
android:text=
"@string/app_not_connected"
/>
android:paddingBottom=
"10dp"
android:text=
"@string/app_not_registred"
android:textStyle=
"italic"
/>
</LinearLayout>
</RelativeLayout>
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment