Welcome to Tesla Motors Club
Discuss Tesla's Model S, Model 3, Model X, Model Y, Cybertruck, Roadster and More.
Register

Enhanced Summon coming (Elon tweet 6 Apr, 2019)

This site may earn commission on affiliate links.
No. I'm still on 3.8.4-367 for Android, and it has location permissions already.

I can confirm that 38.4 on iOS also has location permission as well.

20190605_154511000_iOS.png
 
Thank you for the detective work!!!!!

Yeah, no problem. Anything else we want to check for? The whole diff is massive, I hashed the files to compare the contents and there are 3510 files with differences between the two versions; so searching for particular terms is probably our best bet.

Weirdly enough, there's only one mention of "enhanced" in the old phone software, and it remains in the new version. Seems to be referring to some sort of navigation instead of anything to do with the old enhanced summon. So the theories that the Enhanced Summon code was buried in the public app seem to be false.

`t._enhancedNavigator=n},initialRouteName:this.constructor.initialNavigationRouteKey,dismissNavigator`
 
  • Informative
Reactions: pilotSteve
Okay, I'm going to document here all the interesting changes.

1. First, there appears to be an "autopark_smart_summon" in addition to "autopark_summon" and "smart_summon"

+ autopark_smart_summon_one_touch_usage_message: "Tap to start,\nor tap the map to choose a destination",
+ autopark_smart_summon_pin_too_far_message: "Please move the pin closer to your vehicle",
autopark_smart_summon_release_message: "Release the button to\n stop your vehicle",
- autopark_smart_summon_usage_message: "Press and hold to start,\nor tap the map to choose a destination",
+ autopark_smart_summon_usage_message: "Press and hold to start",

2. Something new called "occupancy grid", no clue the context

+ OCCUPANCY_GRID: "smart_summon_occupancy_grid",

3. Quite a few changes to smart summon visualisations, new mentions to "fsdMode"

VISUALIZATION: "smart_summon_viz",
- summonMode: ue.AURIX,
- summonModeParkerSupported: !1,
+ summonMode: f.fsdMode ? W.SummonMode.PARKER : W.SummonMode.AURIX,
+ summonModeParkerSupported: f.fsdMode,
summonModeParkerReady: !1,
- summonModeAnimation: new T.Animated.Value(0),
+ summonModeAnimation: new T.Animated.Value(f.fsdMode ? 1 : 0),
summonProgressAnimation: new T.Animated.Value(le),
summonLeashOrigin: null,
- summonLeashRadius: ne,
- }, o.state.parkerTrayBottom = o.state.summonModeAnimation.interpolate({
+ summonLeashRadius: ae,

4. New lines about "follow me mode", new messages about distance from vehicle, and new code about an autoparker deadman switch


+ if (this._isTracking() && this.state.findMeButtonShown) return (0, v.translate)("autopark_smart_summon_release_message");
+ v.translate)("autopark_smart_summon_usage_message") : this.state.followMeModeEnabled ? (0,
+ v.translate)("autopark_summon_error_too_far_from_vehicle") : (0, v.translate)("autopark_smart_summon_pin_too_far_message") : "";
+ if (!this._isExecutingFindMe && !this.state.fsdMode) return (0, v.translate)("autopark_smart_summon_one_touch_usage_message");
- return (0, v.translate)("autopark_smart_summon_release_message");
- return this._isTracking() ? (0, v.translate)("autopark_smart_summon_release_message") : "";
+ if (this.state.isParkerDeadman && this._isTracking()) return (0, v.translate)("autopark_smart_summon_release_message");
+ return !0 === this.state.showSmartSummonCautionText ? (0, v.translate)("smart_summon_caution_text") : null != this.state.smartSummonCompletedText ? this.state.smartSummonCompletedText : this.state.statusLabelText.length > 0 ? this.state.statusLabelText : this.state.statusLabelSmartSummonText.length > 0 ? this.state.statusLabelSmartSummonText : "";
- this._findMePressed = !0, this.state.summonModeParkerSupported && this._prepareFindMe());
+ this._findMePressed = !0, this.state.summonModeParkerSupported && this.state.isParkerDeadman)) {

5. New code about calculating distance to the user

+ w.coordinatesDifferent)(this.props.summonLeashOrigin, t.summonLeashOrigin) || (0,
+ key: "summonCircle",
+ center: this.props.summonLeashOrigin,
+ radius: this.props.summonLeashRadius,
+ if (null != t.props.summonLeashOrigin && null != t.props.summonLeashRadius && t.props.summonLeashRadius > 25 && !l) if (((0,
+ w.distanceBetweenCoordinatesInMeters)(c, t.props.summonLeashOrigin) || 0) > t.props.summonLeashRadius) {
+ var u = -(0, w.bearingFromXToY)(t.props.summonLeashOrigin, c), p = (0, w.getLocationFromDistanceBearing)(t.props.summonLeashOrigin.latitude, t.props.summonLeashOrigin.longitude, t.props.summonLeashRadius - 5, u);
+ if (null == this.props.summonLeashOrigin || null == this.props.summonLeashRadius && this.state.mapProvider === j.BAIDU) return !1;
+ var t = (0, w.distanceBetweenCoordinatesInMeters)(this.state.pinLocation, this.props.summonLeashOrigin) || 0, n = (0,
+ w.distanceBetweenCoordinatesInMeters)(this.props.deviceLocation, this.props.summonLeashOrigin) || 0;
+ var o = .9 * this.props.summonLeashRadius, s = t > o || n > o;

6. Code refers to it as Smart Summon, but the messages still call it "Enhanced summon"

smart_summon_caution_text: "Please check your vehicle's surroundings before using Enhanced Summon",
smart_summon_complete: "Summon complete",
smart_summon_enter_smart_summon_info: "ENHANCED\nSUMMON",
smart_summon_error_bad_weather: "Enhanced Summon unavailable due to poor visibility",
smart_summon_error_camera: "An issue was encountered when reading camera data",
smart_summon_error_ego_gps: "There was an issue getting high accuracy GPS data",
smart_summon_error_max_allowed_distance: "Maximum distance reached",
smart_summon_error_max_allowed_time: "Maximum time reached",
smart_summon_error_no_valid_path_follow: "Cannot find a clear path to you",
smart_summon_error_no_valid_path_goal: "Cannot find a clear path to your goal",
smart_summon_error_not_ready: "Enhanced Summon is currently not ready",
smart_summon_error_ultrasonic_fault: "An issue was encountered reading from ultrasonic sensors",
smart_summon_follow_me_button: "FOLLOW ME",
smart_summon_initializing: "Warming up...",
smart_summon_start_button: "SUMMON",
 
Also someone with more knowledge than me can figure this out. The bulk of the filesize differences comes from the "lib" folder. 19 MB uncompressed in the old version, 96 MB uncompressed in the new version.

Old lib folder contained:
armeabi-v7a x86

New lib folder contains:
arm64-v8a armeabi armeabi-v7a x86 x86_64
 
Okay, I'm going to document here all the interesting changes.

1. First, there appears to be an "autopark_smart_summon" in addition to "autopark_summon" and "smart_summon"

+ autopark_smart_summon_one_touch_usage_message: "Tap to start,\nor tap the map to choose a destination",
+ autopark_smart_summon_pin_too_far_message: "Please move the pin closer to your vehicle",
autopark_smart_summon_release_message: "Release the button to\n stop your vehicle",
- autopark_smart_summon_usage_message: "Press and hold to start,\nor tap the map to choose a destination",
+ autopark_smart_summon_usage_message: "Press and hold to start",

2. Something new called "occupancy grid", no clue the context

+ OCCUPANCY_GRID: "smart_summon_occupancy_grid",

3. Quite a few changes to smart summon visualisations, new mentions to "fsdMode"

VISUALIZATION: "smart_summon_viz",
- summonMode: ue.AURIX,
- summonModeParkerSupported: !1,
+ summonMode: f.fsdMode ? W.SummonMode.PARKER : W.SummonMode.AURIX,
+ summonModeParkerSupported: f.fsdMode,
summonModeParkerReady: !1,
- summonModeAnimation: new T.Animated.Value(0),
+ summonModeAnimation: new T.Animated.Value(f.fsdMode ? 1 : 0),
summonProgressAnimation: new T.Animated.Value(le),
summonLeashOrigin: null,
- summonLeashRadius: ne,
- }, o.state.parkerTrayBottom = o.state.summonModeAnimation.interpolate({
+ summonLeashRadius: ae,

4. New lines about "follow me mode", new messages about distance from vehicle, and new code about an autoparker deadman switch


+ if (this._isTracking() && this.state.findMeButtonShown) return (0, v.translate)("autopark_smart_summon_release_message");
+ v.translate)("autopark_smart_summon_usage_message") : this.state.followMeModeEnabled ? (0,
+ v.translate)("autopark_summon_error_too_far_from_vehicle") : (0, v.translate)("autopark_smart_summon_pin_too_far_message") : "";
+ if (!this._isExecutingFindMe && !this.state.fsdMode) return (0, v.translate)("autopark_smart_summon_one_touch_usage_message");
- return (0, v.translate)("autopark_smart_summon_release_message");
- return this._isTracking() ? (0, v.translate)("autopark_smart_summon_release_message") : "";
+ if (this.state.isParkerDeadman && this._isTracking()) return (0, v.translate)("autopark_smart_summon_release_message");
+ return !0 === this.state.showSmartSummonCautionText ? (0, v.translate)("smart_summon_caution_text") : null != this.state.smartSummonCompletedText ? this.state.smartSummonCompletedText : this.state.statusLabelText.length > 0 ? this.state.statusLabelText : this.state.statusLabelSmartSummonText.length > 0 ? this.state.statusLabelSmartSummonText : "";
- this._findMePressed = !0, this.state.summonModeParkerSupported && this._prepareFindMe());
+ this._findMePressed = !0, this.state.summonModeParkerSupported && this.state.isParkerDeadman)) {

5. New code about calculating distance to the user

+ w.coordinatesDifferent)(this.props.summonLeashOrigin, t.summonLeashOrigin) || (0,
+ key: "summonCircle",
+ center: this.props.summonLeashOrigin,
+ radius: this.props.summonLeashRadius,
+ if (null != t.props.summonLeashOrigin && null != t.props.summonLeashRadius && t.props.summonLeashRadius > 25 && !l) if (((0,
+ w.distanceBetweenCoordinatesInMeters)(c, t.props.summonLeashOrigin) || 0) > t.props.summonLeashRadius) {
+ var u = -(0, w.bearingFromXToY)(t.props.summonLeashOrigin, c), p = (0, w.getLocationFromDistanceBearing)(t.props.summonLeashOrigin.latitude, t.props.summonLeashOrigin.longitude, t.props.summonLeashRadius - 5, u);
+ if (null == this.props.summonLeashOrigin || null == this.props.summonLeashRadius && this.state.mapProvider === j.BAIDU) return !1;
+ var t = (0, w.distanceBetweenCoordinatesInMeters)(this.state.pinLocation, this.props.summonLeashOrigin) || 0, n = (0,
+ w.distanceBetweenCoordinatesInMeters)(this.props.deviceLocation, this.props.summonLeashOrigin) || 0;
+ var o = .9 * this.props.summonLeashRadius, s = t > o || n > o;

6. Code refers to it as Smart Summon, but the messages still call it "Enhanced summon"

smart_summon_caution_text: "Please check your vehicle's surroundings before using Enhanced Summon",
smart_summon_complete: "Summon complete",
smart_summon_enter_smart_summon_info: "ENHANCED\nSUMMON",
smart_summon_error_bad_weather: "Enhanced Summon unavailable due to poor visibility",
smart_summon_error_camera: "An issue was encountered when reading camera data",
smart_summon_error_ego_gps: "There was an issue getting high accuracy GPS data",
smart_summon_error_max_allowed_distance: "Maximum distance reached",
smart_summon_error_max_allowed_time: "Maximum time reached",
smart_summon_error_no_valid_path_follow: "Cannot find a clear path to you",
smart_summon_error_no_valid_path_goal: "Cannot find a clear path to your goal",
smart_summon_error_not_ready: "Enhanced Summon is currently not ready",
smart_summon_error_ultrasonic_fault: "An issue was encountered reading from ultrasonic sensors",
smart_summon_follow_me_button: "FOLLOW ME",
smart_summon_initializing: "Warming up...",
smart_summon_start_button: "SUMMON",

WOW!!! THANK YOU!!!

Looks very intriguing. The new code hints at some of the improvements that Tesla has worked on when they decided to pull the first early access version and work on it some more.

I wonder if the "autopark_summon" is a reference to Smart Summon being able to auto park at some point? I wonder if the new visualizations means that we will get a better view on our phone app of what the car is doing? In any case, I am even more excited now to get smart summon.
 
WOW!!! THANK YOU!!!

Looks very intriguing. The new code hints at some of the improvements that Tesla has worked on when they decided to pull the first early access version and work on it some more.

I wonder if the "autopark_summon" is a reference to Smart Summon being able to auto park at some point? I wonder if the new visualizations means that we will get a better view on our phone app of what the car is doing? In any case, I am even more excited now to get smart summon.
Being able to get out of the car at my front door to get packages and the car go park itself in the garage would nice.
 
  • Like
Reactions: Nocturnal
Also someone with more knowledge than me can figure this out. The bulk of the filesize differences comes from the "lib" folder. 19 MB uncompressed in the old version, 96 MB uncompressed in the new version.

Old lib folder contained:
armeabi-v7a x86

New lib folder contains:
arm64-v8a armeabi armeabi-v7a x86 x86_64

Those are architectures for the processor. Those directories contain native libraries (written in C/C++ instead of Java as usual android code). The old two folders are 32 bit ARM/phone and 32 bit x86/PC. Now they have added 64 bit versions for newer phones/computers. Can you list the contents it would be interesting to see if they added any new libraries.