Implementato splashscreen.

Implementato blocco quando si usano etichette anonime che non sono dell'anno corrente.
This commit is contained in:
Gius95
2019-01-03 10:33:14 +01:00
parent 924eadeab0
commit 3b88a8ca56
12 changed files with 240 additions and 32 deletions

View File

@@ -55,33 +55,27 @@ public class MainActivity extends AppCompatActivity
//ExceptionsHandler.init(this);
PermissionsHelper.askPermissions(this);
mBinding = DataBindingUtil.inflate(LayoutInflater.from(this), R.layout.activity_main, null, false);
setContentView(mBinding.getRoot());
if(SettingsManager.i().user.username == null && SettingsManager.i().user.password == null){
startLoginActivity();
} else {
mBinding = DataBindingUtil.inflate(LayoutInflater.from(this), R.layout.activity_main, null, false);
setContentView(mBinding.getRoot());
UpdatesManager.init(this);
UpdatesManager.init(this);
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, mBinding.drawerLayout, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
mBinding.drawerLayout.setDrawerListener(toggle);
toggle.syncState();
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, mBinding.drawerLayout, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
mBinding.drawerLayout.setDrawerListener(toggle);
toggle.syncState();
mBinding.navView.setNavigationItemSelectedListener(this);
mBinding.appBarMain.mainSearch.setVisibility(View.GONE);
mBinding.navView.setNavigationItemSelectedListener(this);
mBinding.appBarMain.mainSearch.setVisibility(View.GONE);
changeContentFragment(MainFragment.newInstance());
changeContentFragment(MainFragment.newInstance());
init();
}
init();
}

View File

@@ -0,0 +1,90 @@
package it.integry.integrywmsnative;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.app.Activity;
import android.os.Handler;
import android.text.SpannableString;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import butterknife.BindView;
import butterknife.ButterKnife;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.PermissionsHelper;
import it.integry.integrywmsnative.gest.login.LoginActivity;
import it.integry.integrywmsnative.view.dialogs.DialogSimpleMessageHelper;
public class SplashActivity extends AppCompatActivity {
@BindView(R.id.app_version_textview)
TextView appVersionTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
ButterKnife.bind(this);
initAppVersion();
PermissionsHelper.askPermissions(this, () -> {
init();
}, permanentlyDenied -> {
if(permanentlyDenied) {
DialogSimpleMessageHelper.makeErrorDialog(this,
new SpannableString(getText(R.string.permissions_permanrntly_denied)), null, () -> {
this.finish();
}).show();
}
});
}
private void initAppVersion() {
try {
PackageInfo pInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
String version = pInfo.versionName;
appVersionTextView.setText("v" + version);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
}
private void init() {
if(SettingsManager.i().user.username == null && SettingsManager.i().user.password == null){
startLoginActivity();
} else {
startMainActivity();
}
}
private void startLoginActivity(){
Intent myIntent = new Intent(this, LoginActivity.class);
startActivity(myIntent);
this.finish();
}
private void startMainActivity(){
new Handler().postDelayed(() -> {
Intent myIntent = new Intent(this, MainActivity.class);
startActivity(myIntent);
this.finish();
}, 3000);
}
}

View File

@@ -4,6 +4,7 @@ import com.annimon.stream.Stream;
import com.google.gson.JsonObject;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.List;
import it.integry.integrywmsnative.core.CommonConst;
@@ -131,6 +132,18 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer{
mtbColtToCreate.setSerCollo(customSerCollo);
}
Calendar calendar = Calendar.getInstance();
int currentYear = calendar.get(Calendar.YEAR);
String fullYear = "20" + UtilityBarcode.getAnnoColloFromULAnonima(barcode);
if(!fullYear.equalsIgnoreCase("" + currentYear)){
onFailed.run(new Exception("Per continuare scansiona un'etichetta dell'anno corrente"));
}
mtbColtToCreate
.setOperation(CommonModelConsts.OPERATION.INSERT);

View File

@@ -9,10 +9,11 @@ import com.emreeran.permissionlivedata.Status;
import java.util.ArrayList;
import androidx.appcompat.app.AppCompatActivity;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
public class PermissionsHelper {
public static void askPermissions(AppCompatActivity activity) {
public static void askPermissions(AppCompatActivity activity, Runnable onPermissionsConfirmed, RunnableArgs<Boolean> onPermissionsDenied) {
PermissionLiveData permissionLiveData = PermissionLiveData.create(
activity,
@@ -23,14 +24,17 @@ public class PermissionsHelper {
permissionLiveData.observe(activity, permission -> {
if (permission.getStatus() == Status.RECEIVED) {
if (permission.getGranted()) {
onPermissionsConfirmed.run();
//UtilityToast.showToast("Permission " + permission.getName() + " was granted.");
} else if (permission.getShouldShowRequestPermissionRationale()) {
UtilityToast.showToast("Permission " + permission.getName() + " was denied without ask never again checked.");
onPermissionsDenied.run(true);
//UtilityToast.showToast("Permission " + permission.getName() + " was denied without ask never again checked.");
} else {
UtilityToast.showToast("Permission " + permission.getName() + " was denied.");
onPermissionsDenied.run(false);
//UtilityToast.showToast("Permission " + permission.getName() + " was denied.");
}
} else if (permission.getStatus() == Status.PENDING) {
UtilityToast.showToast(String.format("Pending request for %s", permission.getName()));
//UtilityToast.showToast(String.format("Pending request for %s", permission.getName()));
}
});
}

View File

@@ -49,6 +49,15 @@ public class UtilityBarcode {
public static Integer getAnnoColloFromULAnonima(String barcode) {
if(barcode != null){
return Integer.parseInt(barcode.substring(1, 3));
} else
return null;
}
public static String convertITF14toEAN13(String barcodeITF14) {
String barcodeEAN13 = null;