constants.dart 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. const int thumbnailSmallSize = 256;
  2. const int thumbnailQuality = 50;
  3. const int thumbnailLargeSize = 512;
  4. const int compressedThumbnailResolution = 1080;
  5. const int thumbnailDataLimit = 100 * 1024;
  6. const String sentryDSN =
  7. "https://2235e5c99219488ea93da34b9ac1cb68@sentry.ente.io/4";
  8. const String sentryDebugDSN =
  9. "https://ca5e686dd7f149d9bf94e620564cceba@sentry.ente.io/3";
  10. const String sentryTunnel = "https://sentry-reporter.ente.io";
  11. const String githubDiscussionsUrl =
  12. "https://github.com/ente-io/ente/discussions";
  13. const int microSecondsInDay = 86400000000;
  14. const int android11SDKINT = 30;
  15. const int jan011981Time = 347155200000000;
  16. const int galleryLoadStartTime = -8000000000000000; // Wednesday, March 6, 1748
  17. const int galleryLoadEndTime = 9223372036854775807; // 2^63 -1
  18. const int batchSize = 1000;
  19. const photoGridSizeDefault = 4;
  20. const photoGridSizeMin = 2;
  21. const photoGridSizeMax = 6;
  22. const subGalleryMultiplier = 10;
  23. // used to identify which ente file are available in app cache
  24. // todo: 6Jun22: delete old media identifier after 3 months
  25. const String oldSharedMediaIdentifier = 'ente-shared://';
  26. const String sharedMediaIdentifier = 'ente-shared-media://';
  27. const thumbnailDiskLoadDeferDuration = Duration(milliseconds: 40);
  28. const thumbnailServerLoadDeferDuration = Duration(milliseconds: 80);
  29. // 256 bit key maps to 24 words
  30. // https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki#Generating_the_mnemonic
  31. const mnemonicKeyWordCount = 24;
  32. // https://stackoverflow.com/a/61162219
  33. const dragSensitivity = 8;
  34. const supportEmail = 'support@ente.io';
  35. // Default values for various feature flags
  36. class FFDefault {
  37. static const bool enableStripe = true;
  38. static const bool disableCFWorker = false;
  39. static const bool enablePasskey = false;
  40. }
  41. const kDefaultProductionEndpoint = 'https://api.ente.io';
  42. const int intMaxValue = 9223372036854775807;
  43. //Screen width of iPhone 14 pro max in points is taken as maximum
  44. const double restrictedMaxWidth = 430;
  45. const double mobileSmallThreshold = 336;
  46. // Note: 0 indicates no device limit
  47. const publicLinkDeviceLimits = [0, 50, 25, 10, 5, 2, 1];
  48. const kilometersPerDegree = 111.16;
  49. const defaultRadiusValues = <double>[1, 2, 10, 20, 40, 80, 200, 400, 1200];
  50. const defaultRadiusValue = 40.0;
  51. const defaultCityRadius = 10.0;
  52. const galleryGridSpacing = 2.0;
  53. const kSearchSectionLimit = 7;
  54. const iOSGroupID = "group.io.ente.frame.SlideshowWidget";
  55. const blackThumbnailBase64 = '/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEB' +
  56. 'AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQ' +
  57. 'EBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARC' +
  58. 'ACWASwDAREAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUF' +
  59. 'BAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk' +
  60. '6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztL' +
  61. 'W2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAA' +
  62. 'AAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVY' +
  63. 'nLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImK' +
  64. 'kpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oAD' +
  65. 'AMBAAIRAxEAPwD/AD/6ACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKA' +
  66. 'CgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACg' +
  67. 'AoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKAC' +
  68. 'gAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAo' +
  69. 'AKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACg' +
  70. 'AoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACg' +
  71. 'AoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKA' +
  72. 'CgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKA' +
  73. 'CgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoA' +
  74. 'KACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACg' +
  75. 'AoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAo' +
  76. 'AKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKA' +
  77. 'CgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAK' +
  78. 'ACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoA' +
  79. 'KACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAo' +
  80. 'AKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAo' +
  81. 'AKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgD/9k=';